Class DelegatingImmutableManagementResourceRegistration
- All Implemented Interfaces:
FeatureFilter,FeatureRegistry,ImmutableManagementResourceRegistration
ImmutableManagementResourceRegistration implementation that simply delegates to another
ImmutableManagementResourceRegistration (typically a mutable implementation of sub-interface
ManagementResourceRegistration).- Author:
- Brian Stansberry (c) 2011 Red Hat Inc.
-
Field Summary
Fields inherited from interface org.jboss.as.controller.registry.ImmutableManagementResourceRegistration
ACCESS_PERMISSION -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new ImmutableManagementResourceRegistration. -
Method Summary
Modifier and TypeMethodDescription<F extends Feature>
booleanenables(F feature) Determines whether the specified feature is enabled by the configured stability level of the feature registry.Returns additional packages provided by this resource.Gets the alias entry for this registration if it is an aliasgetAttributeAccess(PathAddress address, String attributeName) Gets the information on how to read from or write to the given attribute.getAttributeNames(PathAddress address) Get the names of the attributes for a nodegetAttributes(PathAddress address) Get the information about all attributes for a node.Returns all capabilities provided by this resource.getChildAddresses(PathAddress address) Gets the set of direct child address elements under the node at the passed in PathAddressgetChildNames(PathAddress address) Get the names of the types of children for a nodeReturns all capabilities provided by parents of this resource, to which this resource contributes.intGets the maximum number of times a resource of the type described by this registration can occur under its parent resource (or, for a root resource, the minimum number of times it can occur at all.)intGets the minimum number of times a resource of the type described by this registration can occur under its parent resource (or, for a root resource, the number of times it can occur at all.)getModelDescription(PathAddress address) Get the model description at the given address, ornullif none exists.getNotificationDescriptions(PathAddress address, boolean inherited) Get a map of descriptions of all notifications emitted by the resources at an address.getOperationDescription(PathAddress address, String operationName) Get the operation description at the given address, ornullif none exists.getOperationDescriptions(PathAddress address, boolean inherited) Get a map of descriptions of all operations available at an address.getOperationEntry(PathAddress address, String operationName) Get the entry representing an operation registered with the given name at the given address, ornullif none exists.getOperationFlags(PathAddress address, String operationName) Get the special characteristic flags for the operation at the given address, ornullif none exist.getOperationHandler(PathAddress address, String operationName) Get the operation handler at the given address, ornullif none exists.Return the names of the child types registered to be ordered.Gets the registration for this resource type's parent, if there is one.Gets the address under which we are registered.Gets the type of process in which this management resource type is registered.getProxyController(PathAddress address) If there is a proxy controller registered under any part of the registered address it will be returned.getProxyControllers(PathAddress address) Finds all proxy controllers registered at the passed in address, or at lower levels.Returns all capability reference recorders provided by this resource.Returns the feature stability supported by this feature registry.getSubModel(PathAddress address) Get a sub model registration.booleanisAlias()Gets whether this resource registration is an alias to another resource.booleanbooleanReturn @code true} if a child resource registration was registered usingManagementResourceRegistration.registerSubModel(ResourceDefinition), andfalseotherwisebooleanisRemote()Gets whether operations against the resource represented by this registration will be proxied to a remote process.booleanGets whether this model node only exists in the runtime and has no representation in the persistent configuration model.
-
Constructor Details
-
DelegatingImmutableManagementResourceRegistration
public DelegatingImmutableManagementResourceRegistration(ImmutableManagementResourceRegistration delegate) Creates a new ImmutableManagementResourceRegistration.- Parameters:
delegate- the delegate. Cannot benull
-
-
Method Details
-
getPathAddress
Description copied from interface:ImmutableManagementResourceRegistrationGets the address under which we are registered.- Specified by:
getPathAddressin interfaceImmutableManagementResourceRegistration- Returns:
- the address. Will not be
null
-
getProcessType
Description copied from interface:ImmutableManagementResourceRegistrationGets the type of process in which this management resource type is registered.- Specified by:
getProcessTypein interfaceImmutableManagementResourceRegistration- Returns:
- the process type. Will not return
null
-
getStability
Description copied from interface:FeatureRegistryReturns the feature stability supported by this feature registry.- Specified by:
getStabilityin interfaceFeatureRegistry- Returns:
- a stability level
-
enables
Description copied from interface:FeatureRegistryDetermines whether the specified feature is enabled by the configured stability level of the feature registry.- Specified by:
enablesin interfaceFeatureFilter- Specified by:
enablesin interfaceFeatureRegistry- Type Parameters:
F- the feature type- Parameters:
feature- a feature- Returns:
- true, if the specified feature is enabled, false otherwise.
-
getParent
Description copied from interface:ImmutableManagementResourceRegistrationGets the registration for this resource type's parent, if there is one.- Specified by:
getParentin interfaceImmutableManagementResourceRegistration- Returns:
- the parent, or
nullifImmutableManagementResourceRegistration.getPathAddress()returns an address with asizeof0
-
getMaxOccurs
public int getMaxOccurs()Description copied from interface:ImmutableManagementResourceRegistrationGets the maximum number of times a resource of the type described by this registration can occur under its parent resource (or, for a root resource, the minimum number of times it can occur at all.)- Specified by:
getMaxOccursin interfaceImmutableManagementResourceRegistration- Returns:
- the minimum number of occurrences
-
getMinOccurs
public int getMinOccurs()Description copied from interface:ImmutableManagementResourceRegistrationGets the minimum number of times a resource of the type described by this registration can occur under its parent resource (or, for a root resource, the number of times it can occur at all.)- Specified by:
getMinOccursin interfaceImmutableManagementResourceRegistration- Returns:
- the minimum number of occurrences
-
getFeature
- Specified by:
getFeaturein interfaceImmutableManagementResourceRegistration
-
isFeature
public boolean isFeature()- Specified by:
isFeaturein interfaceImmutableManagementResourceRegistration
-
isRuntimeOnly
public boolean isRuntimeOnly()Description copied from interface:ImmutableManagementResourceRegistrationGets whether this model node only exists in the runtime and has no representation in the persistent configuration model.- Specified by:
isRuntimeOnlyin interfaceImmutableManagementResourceRegistration- Returns:
trueif the model node has no representation in the persistent configuration model;falseotherwise
-
isRemote
public boolean isRemote()Description copied from interface:ImmutableManagementResourceRegistrationGets whether operations against the resource represented by this registration will be proxied to a remote process.- Specified by:
isRemotein interfaceImmutableManagementResourceRegistration- Returns:
trueif this registration represents a remote resource;falseotherwise
-
isAlias
public boolean isAlias()Description copied from interface:ImmutableManagementResourceRegistrationGets whether this resource registration is an alias to another resource.- Specified by:
isAliasin interfaceImmutableManagementResourceRegistration- Returns:
trueif this registration represents an alias;falseotherwise
-
getOperationEntry
Description copied from interface:ImmutableManagementResourceRegistrationGet the entry representing an operation registered with the given name at the given address, ornullif none exists.- Specified by:
getOperationEntryin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this nodeoperationName- the operation name- Returns:
- the operation entry or
null
-
getOperationHandler
Description copied from interface:ImmutableManagementResourceRegistrationGet the operation handler at the given address, ornullif none exists.- Specified by:
getOperationHandlerin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this nodeoperationName- the operation name- Returns:
- the operation handler
-
getOperationDescription
Description copied from interface:ImmutableManagementResourceRegistrationGet the operation description at the given address, ornullif none exists.- Specified by:
getOperationDescriptionin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this nodeoperationName- the operation name- Returns:
- the operation description
-
getOperationFlags
Description copied from interface:ImmutableManagementResourceRegistrationGet the special characteristic flags for the operation at the given address, ornullif none exist.- Specified by:
getOperationFlagsin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this nodeoperationName- the operation name- Returns:
- the operation entry flags or
null
-
getAttributeNames
Description copied from interface:ImmutableManagementResourceRegistrationGet the names of the attributes for a node- Specified by:
getAttributeNamesin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this node- Returns:
- the attribute names. If there are none an empty set is returned
-
getAttributeAccess
Description copied from interface:ImmutableManagementResourceRegistrationGets the information on how to read from or write to the given attribute.- Specified by:
getAttributeAccessin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address of the resourceattributeName- the name of the attribute- Returns:
- the handling information, or
nullif the attribute or address is unknown
-
getAttributes
Description copied from interface:ImmutableManagementResourceRegistrationGet the information about all attributes for a node.- Specified by:
getAttributesin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this node- Returns:
- the attribute information, in a map keyed by attribute name. If there are none an empty map is returned
-
getChildNames
Description copied from interface:ImmutableManagementResourceRegistrationGet the names of the types of children for a node- Specified by:
getChildNamesin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this node- Returns:
- the child type names. If there are none an empty set is returned
-
getChildAddresses
Description copied from interface:ImmutableManagementResourceRegistrationGets the set of direct child address elements under the node at the passed in PathAddress- Specified by:
getChildAddressesin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address we want to find children for- Returns:
- the set of direct child elements
-
getModelDescription
Description copied from interface:ImmutableManagementResourceRegistrationGet the model description at the given address, ornullif none exists.- Specified by:
getModelDescriptionin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this node- Returns:
- the model description
-
getOperationDescriptions
Description copied from interface:ImmutableManagementResourceRegistrationGet a map of descriptions of all operations available at an address.- Specified by:
getOperationDescriptionsin interfaceImmutableManagementResourceRegistration- Parameters:
address- the addressinherited- true to include inherited operations- Returns:
- the operation map
-
getNotificationDescriptions
public Map<String,NotificationEntry> getNotificationDescriptions(PathAddress address, boolean inherited) Description copied from interface:ImmutableManagementResourceRegistrationGet a map of descriptions of all notifications emitted by the resources at an address.- Specified by:
getNotificationDescriptionsin interfaceImmutableManagementResourceRegistration- Parameters:
address- the addressinherited- true to include inherited notifications- Returns:
- the notifications map
-
getProxyController
Description copied from interface:ImmutableManagementResourceRegistrationIf there is a proxy controller registered under any part of the registered address it will be returned. E.g. if the address passed in is[a=b,c=d,e=f]and there is a proxy registered under[a=b,c=d]that proxy will be returned.- Specified by:
getProxyControllerin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address to look for a proxy under- Returns:
- the found proxy controller, or
nullif there is none
-
getProxyControllers
Description copied from interface:ImmutableManagementResourceRegistrationFinds all proxy controllers registered at the passed in address, or at lower levels. E.g. if the address passed in isa=band there are proxies registered at[a=b,c=d],[a=b,e=f]and[g-h], the proxies for[a=b,c=d]and[a=b,e=f]will be returned.- Specified by:
getProxyControllersin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address to start looking for proxies under- Returns:
- the found proxy controllers, or an empty set if there are none
-
getSubModel
Description copied from interface:ImmutableManagementResourceRegistrationGet a sub model registration.- Specified by:
getSubModelin interfaceImmutableManagementResourceRegistration- Parameters:
address- the address, relative to this node- Returns:
- the node registration,
nullif there is none
-
getAccessConstraints
- Specified by:
getAccessConstraintsin interfaceImmutableManagementResourceRegistration
-
getAliasEntry
Description copied from interface:ImmutableManagementResourceRegistrationGets the alias entry for this registration if it is an alias- Specified by:
getAliasEntryin interfaceImmutableManagementResourceRegistration- Returns:
- the alias entry if this registration represents an aliased resource;
nullotherwise
-
isOrderedChildResource
public boolean isOrderedChildResource()Description copied from interface:ImmutableManagementResourceRegistrationReturn @code true} if a child resource registration was registered usingManagementResourceRegistration.registerSubModel(ResourceDefinition), andfalseotherwise- Specified by:
isOrderedChildResourcein interfaceImmutableManagementResourceRegistration- Returns:
- whether this is an ordered child or not
-
getOrderedChildTypes
Description copied from interface:ImmutableManagementResourceRegistrationReturn the names of the child types registered to be ordered.- Specified by:
getOrderedChildTypesin interfaceImmutableManagementResourceRegistration- Returns:
- the set of ordered child types, and and empty set if there are none
-
getCapabilities
Description copied from interface:ImmutableManagementResourceRegistrationReturns all capabilities provided by this resource. This will only include capabilities for which this resource controls the registration of the capability. If any children of this resource are involved in providing the capability, the registration for the children must not include the capability in the value they return from this method.- Specified by:
getCapabilitiesin interfaceImmutableManagementResourceRegistration- Returns:
- Set of capabilities if any registered otherwise an empty set
- See Also:
-
getIncorporatingCapabilities
Description copied from interface:ImmutableManagementResourceRegistrationReturns all capabilities provided by parents of this resource, to which this resource contributes. This will only include capabilities for which this resource does not control the registration of the capability. Any capabilities registered by this resource will instead be included in the return value forImmutableManagementResourceRegistration.getCapabilities().Often, this method will return
null, which has a special meaning. Anullvalue means this resource contributes to any capabilities provided by resources higher in its branch of the resource tree, with the search for such capabilities continuing through ancestor resources until:- The ancestor has registered a capability; i.e. once a capability is identified, higher levels are not searched
- The ancestor returns a non-null value from this method; i.e. once an ancestor declares an incorporating capability or that there are no incorporating capabilities, higher levels are not searched
- The ancestor is a root resource. Child resources do not contribute to root capabilities unless they specifically declare they do so
- The ancestor has single element address whose key is
host. Child resources do not contribute to host root capabilities unless they specifically declare they do so - For subsystem resources, the ancestor resource is not provided by the subsystem. Subsystem resources do not contribute to capabilities provided by the kernel
A non-
nullvalue indicates no search of parent resources for capabilities should be performed, and only those capabilities included in the return set should be considered as incorporating this resource (or none at all if the return set is empty.)An instance of this interface that returns a non-empty set from
ImmutableManagementResourceRegistration.getCapabilities()must not returnnullfrom this method. If a resource itself provides a capability but also contributes to a different capability provided by a parent, that relationship must be specifically noted in the return value from this method.Note that providing a capability that is in turn a requirement of a parent resource's capability is not the kind of "contributing" to the parent resource's capability that is being considered here. The relationship between a capability and its requirements is separately tracked by the
RuntimeCapabilityitself. A typical "contributing" resource would be one that represents a chunk of configuration directly used by the parent resource's capability.- Specified by:
getIncorporatingCapabilitiesin interfaceImmutableManagementResourceRegistration- Returns:
- set of capabilities, or
nullif default resolution of capabilities to which this resource contributes should be used; an empty set can be used to indicate this resource does not contribute to capabilities provided by its parent. Will not returnnullifImmutableManagementResourceRegistration.getCapabilities()returns a non-empty set. - See Also:
-
getRequirements
Description copied from interface:ImmutableManagementResourceRegistrationReturns all capability reference recorders provided by this resource.- Specified by:
getRequirementsin interfaceImmutableManagementResourceRegistration- Returns:
- Set of CapabilityReferenceRecorder if any registered otherwise an empty set.
-
getAdditionalRuntimePackages
Description copied from interface:ImmutableManagementResourceRegistrationReturns additional packages provided by this resource.- Specified by:
getAdditionalRuntimePackagesin interfaceImmutableManagementResourceRegistration- Returns:
- Set of
RuntimePackageDependencyif any registered otherwise an empty set.
-