Package org.optaplanner.core.config
Class AbstractConfig<C extends AbstractConfig>
- java.lang.Object
-
- org.optaplanner.core.config.AbstractConfig<C>
-
- Type Parameters:
C- the same class as the implementing subclass
- Direct Known Subclasses:
AcceptorConfig,BenchmarkReportConfig,BestSolutionRecallerConfig,ConstructionHeuristicForagerConfig,EntityPlacerConfig,LocalSearchForagerConfig,PhaseConfig,ProblemBenchmarksConfig,ScanAnnotatedClassesConfig,ScoreDirectorFactoryConfig,SelectorConfig,SolverBenchmarkConfig,SolverConfig,SolverManagerConfig,TerminationConfig
public abstract class AbstractConfig<C extends AbstractConfig> extends Object
A config class is a user friendly, validating configuration class that maps XML input. It builds the runtime impl classes (which are optimized for scalability and performance instead).A config class should adhere to "configuration by exception" in its XML/JSON input/output, so all non-static fields should be null by default. Using the config class to build a runtime class, must not alter the config class's XML/JSON output.
-
-
Constructor Summary
Constructors Constructor Description AbstractConfig()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract CcopyConfig()Typically implemented by constructing a new instance and callinginherit(AbstractConfig)on itprotected EntityDescriptordeduceEntityDescriptor(SolutionDescriptor solutionDescriptor, Class<?> entityClass)protected GenuineVariableDescriptordeduceVariableDescriptor(EntityDescriptor entityDescriptor, String variableName)protected List<GenuineVariableDescriptor>deduceVariableDescriptorList(EntityDescriptor entityDescriptor, List<String> variableNameIncludeList)abstract Cinherit(C inheritedConfig)Inherits each property of theinheritedConfigunless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).StringtoString()
-
-
-
Method Detail
-
deduceEntityDescriptor
protected EntityDescriptor deduceEntityDescriptor(SolutionDescriptor solutionDescriptor, Class<?> entityClass)
-
deduceVariableDescriptor
protected GenuineVariableDescriptor deduceVariableDescriptor(EntityDescriptor entityDescriptor, String variableName)
-
deduceVariableDescriptorList
protected List<GenuineVariableDescriptor> deduceVariableDescriptorList(EntityDescriptor entityDescriptor, List<String> variableNameIncludeList)
-
inherit
public abstract C inherit(C inheritedConfig)
Inherits each property of theinheritedConfigunless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).After the inheritance, if a property on this
AbstractConfigcomposition is replaced, it should not affect the inherited composition instance.- Parameters:
inheritedConfig- never null- Returns:
- this
-
copyConfig
public abstract C copyConfig()
Typically implemented by constructing a new instance and callinginherit(AbstractConfig)on it- Returns:
- new instance
-
-