C
- the same class as the implementing subclasspublic abstract class AbstractConfig<C extends AbstractConfig> extends Object
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 and Description |
---|
AbstractConfig() |
Modifier and Type | Method and Description |
---|---|
abstract C |
copyConfig()
Typically implemented by constructing a new instance and calling
inherit(AbstractConfig) on it |
protected EntityDescriptor |
deduceEntityDescriptor(SolutionDescriptor solutionDescriptor,
Class<?> entityClass) |
protected GenuineVariableDescriptor |
deduceVariableDescriptor(EntityDescriptor entityDescriptor,
String variableName) |
protected List<GenuineVariableDescriptor> |
deduceVariableDescriptorList(EntityDescriptor entityDescriptor,
List<String> variableNameIncludeList) |
abstract C |
inherit(C inheritedConfig)
Inherits each property of the
inheritedConfig unless that property (or a semantic alternative)
is defined by this instance (which overwrites the inherited behaviour). |
String |
toString() |
protected EntityDescriptor deduceEntityDescriptor(SolutionDescriptor solutionDescriptor, Class<?> entityClass)
protected GenuineVariableDescriptor deduceVariableDescriptor(EntityDescriptor entityDescriptor, String variableName)
protected List<GenuineVariableDescriptor> deduceVariableDescriptorList(EntityDescriptor entityDescriptor, List<String> variableNameIncludeList)
public abstract C inherit(C inheritedConfig)
inheritedConfig
unless that property (or a semantic alternative)
is defined by this instance (which overwrites the inherited behaviour).
After the inheritance, if a property on this AbstractConfig
composition is replaced,
it should not affect the inherited composition instance.
inheritedConfig
- never nullpublic abstract C copyConfig()
inherit(AbstractConfig)
on itCopyright © 2006–2021 JBoss by Red Hat. All rights reserved.