Class DecoratingNodeEvaluator<N,A,V extends java.lang.Comparable<V>>
- java.lang.Object
-
- ai.libs.jaicore.search.algorithms.standard.bestfirst.nodeevaluation.DecoratingNodeEvaluator<N,A,V>
-
- All Implemented Interfaces:
org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.ICancelablePathEvaluator
,org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V>
,org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPotentiallyGraphDependentPathEvaluator<N,A,V>
,org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPotentiallySolutionReportingPathEvaluator<N,A,V>
,org.api4.java.common.attributedobjects.IGetter<org.api4.java.datastructure.graph.ILabeledPath<N,A>,V>
,org.api4.java.common.attributedobjects.IObjectEvaluator<org.api4.java.datastructure.graph.ILabeledPath<N,A>,V>
,org.api4.java.common.control.ILoggingCustomizable
- Direct Known Subclasses:
AlternativeNodeEvaluator
,DelayingNodeEvaluator
,TimeLoggingNodeEvaluator
public abstract class DecoratingNodeEvaluator<N,A,V extends java.lang.Comparable<V>> extends java.lang.Object implements org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V>, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.ICancelablePathEvaluator, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPotentiallyGraphDependentPathEvaluator<N,A,V>, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPotentiallySolutionReportingPathEvaluator<N,A,V>
-
-
Constructor Summary
Constructors Constructor Description DecoratingNodeEvaluator(org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V> evaluator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancelActiveTasks()
boolean
doesDecoratedEvaluatorReportSolutions()
V
evaluate(org.api4.java.datastructure.graph.ILabeledPath<N,A> node)
org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V>
getEvaluator()
java.lang.String
getLoggerName()
boolean
isDecoratedEvaluatorCancelable()
boolean
isDecoratedEvaluatorGraphDependent()
void
registerSolutionListener(java.lang.Object listener)
boolean
reportsSolutions()
default implementation that is just correct with respect to the decorated node evaluator.boolean
requiresGraphGenerator()
default implementation that is just correct with respect to the decorated node evaluator.void
setGenerator(org.api4.java.datastructure.graph.implicit.IGraphGenerator<N,A> generator, org.api4.java.ai.graphsearch.problem.implicit.graphgenerator.IPathGoalTester<N,A> goalTester)
void
setLoggerName(java.lang.String name)
-
-
-
Method Detail
-
getEvaluator
public org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V> getEvaluator()
-
evaluate
public V evaluate(org.api4.java.datastructure.graph.ILabeledPath<N,A> node) throws org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.PathEvaluationException, java.lang.InterruptedException
- Specified by:
evaluate
in interfaceorg.api4.java.common.attributedobjects.IObjectEvaluator<N,A>
- Specified by:
evaluate
in interfaceorg.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V extends java.lang.Comparable<V>>
- Throws:
org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.PathEvaluationException
java.lang.InterruptedException
-
isDecoratedEvaluatorCancelable
public boolean isDecoratedEvaluatorCancelable()
-
isDecoratedEvaluatorGraphDependent
public boolean isDecoratedEvaluatorGraphDependent()
-
doesDecoratedEvaluatorReportSolutions
public boolean doesDecoratedEvaluatorReportSolutions()
-
requiresGraphGenerator
public boolean requiresGraphGenerator()
default implementation that is just correct with respect to the decorated node evaluator. If the node evaluator that inherits from DecoratingNodeEvaluator itself may require the graph, this method should be overwritten.
-
reportsSolutions
public boolean reportsSolutions()
default implementation that is just correct with respect to the decorated node evaluator. If the node evaluator that inherits from DecoratingNodeEvaluator itself may be solution reporting, this method should be overwritten.
-
setGenerator
public void setGenerator(org.api4.java.datastructure.graph.implicit.IGraphGenerator<N,A> generator, org.api4.java.ai.graphsearch.problem.implicit.graphgenerator.IPathGoalTester<N,A> goalTester)
-
registerSolutionListener
public void registerSolutionListener(java.lang.Object listener)
-
cancelActiveTasks
public void cancelActiveTasks()
- Specified by:
cancelActiveTasks
in interfaceorg.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.ICancelablePathEvaluator
-
getLoggerName
public java.lang.String getLoggerName()
- Specified by:
getLoggerName
in interfaceorg.api4.java.common.control.ILoggingCustomizable
-
setLoggerName
public void setLoggerName(java.lang.String name)
- Specified by:
setLoggerName
in interfaceorg.api4.java.common.control.ILoggingCustomizable
-
-