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 |
---|---|
C |
copyConfig() |
protected EntityDescriptor |
deduceEntityDescriptor(SolutionDescriptor solutionDescriptor,
Class<?> entityClass) |
protected GenuineVariableDescriptor |
deduceVariableDescriptor(EntityDescriptor entityDescriptor,
String variableName) |
protected List<GenuineVariableDescriptor> |
deduceVariableDescriptorList(EntityDescriptor entityDescriptor,
List<String> variableNameIncludeList) |
abstract void |
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). |
C |
newInstance() |
String |
toString() |
public C newInstance()
public C copyConfig()
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 void 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 nullCopyright © 2006–2018 JBoss by Red Hat. All rights reserved.