S - type of subjectC - type of configuration@Beta
public abstract class ConfigFactory<S,C extends Config<S>>
extends java.lang.Object
| Modifier | Constructor and Description |
|---|---|
protected |
ConfigFactory(SubjectFactory<S> subjectFactory,
java.lang.Class<C> configClass,
java.lang.String configKey)
Creates a new configuration factory for the specified class of subjects
capable of generating the configurations of the specified class.
|
protected |
ConfigFactory(SubjectFactory<S> subjectFactory,
java.lang.Class<C> configClass,
java.lang.String configKey,
boolean isList)
Creates a new configuration factory for the specified class of subjects
capable of generating the configurations of the specified class.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Class<C> |
configClass()
Returns the class of the configuration which this factory generates.
|
java.lang.String |
configKey()
Returns the unique key (within subject class) of this configuration.
|
abstract C |
createConfig()
Creates a new but uninitialized configuration.
|
boolean |
isList()
Indicates whether the configuration is a list and should be backed by
a JSON array rather than JSON object.
|
SubjectFactory<S> |
subjectFactory()
Returns the class of the subject to which this factory applies.
|
protected ConfigFactory(SubjectFactory<S> subjectFactory, java.lang.Class<C> configClass, java.lang.String configKey)
subjectFactory - subject factoryconfigClass - configuration classconfigKey - configuration class keyprotected ConfigFactory(SubjectFactory<S> subjectFactory, java.lang.Class<C> configClass, java.lang.String configKey, boolean isList)
Note that configurations backed by JSON array are not easily extensible at the top-level as they are inherently limited to holding an ordered list of items.
subjectFactory - subject factoryconfigClass - configuration classconfigKey - configuration class keyisList - true to indicate backing by JSON arraypublic SubjectFactory<S> subjectFactory()
public java.lang.Class<C> configClass()
public java.lang.String configKey()
public abstract C createConfig()
Config.init(S, java.lang.String, com.fasterxml.jackson.databind.JsonNode, com.fasterxml.jackson.databind.ObjectMapper, org.onosproject.net.config.ConfigApplyDelegate) method.public boolean isList()