Package org.onosproject.net.config
Interface NetworkConfigService
-
- All Superinterfaces:
ListenerService<NetworkConfigEvent,NetworkConfigListener>
- All Known Subinterfaces:
NetworkConfigRegistry
- All Known Implementing Classes:
NetworkConfigRegistryAdapter
,NetworkConfigServiceAdapter
@Beta public interface NetworkConfigService extends ListenerService<NetworkConfigEvent,NetworkConfigListener>
Service for tracking network configurations which specify how the discovered network information should be interpreted and how the core or applications should act on or configure the network.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <S,C extends Config<S>>
CaddConfig(S subject, Class<C> configClass)
Creates a new configuration for the specified subject and configuration class.<S,C extends Config<S>>
CapplyConfig(String subjectClassKey, S subject, String configKey, com.fasterxml.jackson.databind.JsonNode json)
Applies configuration for the specified subject and configuration key using the raw JSON object.<S,C extends Config<S>>
CapplyConfig(S subject, Class<C> configClass, com.fasterxml.jackson.databind.JsonNode json)
Applies configuration for the specified subject and configuration class using the raw JSON node.<S,C extends Config<S>>
CgetConfig(S subject, Class<C> configClass)
Returns the configuration for the specified subject and configuration class if one is available; null otherwise.Class<? extends Config>
getConfigClass(String subjectClassKey, String configKey)
Returns the configuration class with the specified key.<S> Set<? extends Config<S>>
getConfigs(S subject)
Returns all configurations for the specified subject.Set<Class>
getSubjectClasses()
Returns the set of subject classes for which configuration may be available.SubjectFactory
getSubjectFactory(Class subjectClass)
Returns the subject factory for the specified class.SubjectFactory
getSubjectFactory(String subjectClassKey)
Returns the subject factory with the specified key.<S> Set<S>
getSubjects(Class<S> subjectClass)
Returns the set of subjects for which some configuration is available.<S,C extends Config<S>>
Set<S>getSubjects(Class<S> subjectClass, Class<C> configClass)
Returns the set of subjects for which the specified configuration is available.<S> void
removeConfig()
Clears the complete configuration including queued.<S> void
removeConfig(String subjectClassKey, S subject, String configKey)
Clears any configuration for the specified subject and configuration key.<S> void
removeConfig(S subject)
Clears the configuration including queued based on the subject.<S,C extends Config<S>>
voidremoveConfig(S subject, Class<C> configClass)
Clears any configuration for the specified subject and configuration class.-
Methods inherited from interface org.onosproject.event.ListenerService
addListener, removeListener
-
-
-
-
Method Detail
-
getSubjectClasses
Set<Class> getSubjectClasses()
Returns the set of subject classes for which configuration may be available.- Returns:
- set of subject classes
-
getSubjectFactory
SubjectFactory getSubjectFactory(String subjectClassKey)
Returns the subject factory with the specified key.- Parameters:
subjectClassKey
- subject class key- Returns:
- subject class
-
getSubjectFactory
SubjectFactory getSubjectFactory(Class subjectClass)
Returns the subject factory for the specified class.- Parameters:
subjectClass
- subject class- Returns:
- subject class factory
-
getConfigClass
Class<? extends Config> getConfigClass(String subjectClassKey, String configKey)
Returns the configuration class with the specified key.- Parameters:
subjectClassKey
- subject class keyconfigKey
- subject class name- Returns:
- subject class
-
getSubjects
<S> Set<S> getSubjects(Class<S> subjectClass)
Returns the set of subjects for which some configuration is available.- Type Parameters:
S
- type of subject- Parameters:
subjectClass
- subject class- Returns:
- set of configured subjects
-
getSubjects
<S,C extends Config<S>> Set<S> getSubjects(Class<S> subjectClass, Class<C> configClass)
Returns the set of subjects for which the specified configuration is available.- Type Parameters:
S
- type of subjectC
- type of configuration- Parameters:
subjectClass
- subject classconfigClass
- configuration class- Returns:
- set of configured subjects
-
getConfigs
<S> Set<? extends Config<S>> getConfigs(S subject)
Returns all configurations for the specified subject.- Type Parameters:
S
- type of subject- Parameters:
subject
- configuration subject- Returns:
- set of configurations
-
getConfig
<S,C extends Config<S>> C getConfig(S subject, Class<C> configClass)
Returns the configuration for the specified subject and configuration class if one is available; null otherwise.- Type Parameters:
S
- type of subjectC
- type of configuration- Parameters:
subject
- configuration subjectconfigClass
- configuration class- Returns:
- configuration or null if one is not available
-
addConfig
<S,C extends Config<S>> C addConfig(S subject, Class<C> configClass)
Creates a new configuration for the specified subject and configuration class. If one already exists, it is simply returned.- Type Parameters:
S
- type of subjectC
- type of configuration- Parameters:
subject
- configuration subjectconfigClass
- configuration class- Returns:
- configuration or null if one is not available
-
applyConfig
<S,C extends Config<S>> C applyConfig(S subject, Class<C> configClass, com.fasterxml.jackson.databind.JsonNode json)
Applies configuration for the specified subject and configuration class using the raw JSON node. If configuration already exists, it will be updated.- Type Parameters:
S
- type of subjectC
- type of configuration- Parameters:
subject
- configuration subjectconfigClass
- configuration classjson
- raw JSON node containing the configuration data- Returns:
- configuration or null if one is not available
- Throws:
IllegalArgumentException
- if the supplied JSON node contains invalid data
-
applyConfig
<S,C extends Config<S>> C applyConfig(String subjectClassKey, S subject, String configKey, com.fasterxml.jackson.databind.JsonNode json)
Applies configuration for the specified subject and configuration key using the raw JSON object. If configuration already exists, it will be updated. If the specified configuration key does not yet have a registered class associated with it, the configuration will be pending and null value will be returned. Once the backing configuration class is registered, the configuration will be validated and accepted.- Type Parameters:
S
- type of subjectC
- type of configuration- Parameters:
subjectClassKey
- subject class keysubject
- configuration subjectconfigKey
- configuration class keyjson
- raw JSON node containing the configuration data- Returns:
- configuration object or null if configuration key does not have a registered class yet
- Throws:
IllegalArgumentException
- if the supplied JSON node contains invalid data
-
removeConfig
<S,C extends Config<S>> void removeConfig(S subject, Class<C> configClass)
Clears any configuration for the specified subject and configuration class. If one does not exist, this call has no effect.- Type Parameters:
S
- type of subjectC
- type of configuration- Parameters:
subject
- configuration subjectconfigClass
- configuration class
-
removeConfig
<S> void removeConfig(String subjectClassKey, S subject, String configKey)
Clears any configuration for the specified subject and configuration key. If one does not exist, this call has no effect.- Type Parameters:
S
- type of subject- Parameters:
subjectClassKey
- subject class keysubject
- configuration subjectconfigKey
- configuration key
-
removeConfig
<S> void removeConfig(S subject)
Clears the configuration including queued based on the subject. If does not exists this call has no effect.- Type Parameters:
S
- type of subject- Parameters:
subject
- configuration subject
-
removeConfig
<S> void removeConfig()
Clears the complete configuration including queued. If does not exists this call has no effect.- Type Parameters:
S
- type of subject
-
-