public class DelegatingManagementResourceRegistration extends Object implements ManagementResourceRegistration
ManagementResourceRegistration implementation that simply delegates to another
ManagementResourceRegistration. Intended as a convenience class to allow overriding
of standard behaviors and also as a means to support a copy-on-write/publish-on-commit
semantic for the management resource tree.| Modifier and Type | Class and Description |
|---|---|
static interface |
DelegatingManagementResourceRegistration.RegistrationDelegateProvider
Provides a delegate for use by a
DelegatingManagementResourceRegistration. |
ManagementResourceRegistration.FactoryACCESS_PERMISSION| Constructor and Description |
|---|
DelegatingManagementResourceRegistration(DelegatingManagementResourceRegistration.RegistrationDelegateProvider delegateProvider)
Creates a new DelegatingManagementResourceRegistration with a possibly changing delegate.
|
DelegatingManagementResourceRegistration(ManagementResourceRegistration delegate)
Creates a new DelegatingManagementResourceRegistration with a fixed delegate.
|
| Modifier and Type | Method and Description |
|---|---|
List<AccessConstraintDefinition> |
getAccessConstraints() |
AliasEntry |
getAliasEntry()
Gets the alias entry for this registration if it is an alias
|
AttributeAccess |
getAttributeAccess(PathAddress address,
String attributeName)
Gets the information on how to read from or write to the given attribute.
|
Set<String> |
getAttributeNames(PathAddress address)
Get the names of the attributes for a node
|
Map<String,AttributeAccess> |
getAttributes(PathAddress address)
Get the information about all attributes for a node.
|
Set<RuntimeCapability> |
getCapabilities()
Returns all capabilities provided by this resource.
|
Set<PathElement> |
getChildAddresses(PathAddress address)
Gets the set of direct child address elements under the node at the passed in PathAddress
|
Set<String> |
getChildNames(PathAddress address)
Get the names of the types of children for a node
|
Set<RuntimeCapability> |
getIncorporatingCapabilities()
Returns all capabilities provided by parents of this resource, to which this resource contributes.
|
int |
getMaxOccurs()
Gets 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.)
|
int |
getMinOccurs()
Gets 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.)
|
DescriptionProvider |
getModelDescription(PathAddress address)
Get the model description at the given address, or
null if none exists. |
Map<String,NotificationEntry> |
getNotificationDescriptions(PathAddress address,
boolean inherited)
Get a map of descriptions of all notifications emitted by the resources at an address.
|
DescriptionProvider |
getOperationDescription(PathAddress address,
String operationName)
Get the operation description at the given address, or
null if none exists. |
Map<String,OperationEntry> |
getOperationDescriptions(PathAddress address,
boolean inherited)
Get a map of descriptions of all operations available at an address.
|
OperationEntry |
getOperationEntry(PathAddress address,
String operationName)
Get the entry representing an operation registered with the given name at the given address, or
null if none exists. |
Set<OperationEntry.Flag> |
getOperationFlags(PathAddress address,
String operationName)
Get the special characteristic flags for the operation at the given address, or
null if none exist. |
OperationStepHandler |
getOperationHandler(PathAddress address,
String operationName)
Get the operation handler at the given address, or
null if none exists. |
Set<String> |
getOrderedChildTypes()
Return the names of the child types registered to be ordered.
|
ManagementResourceRegistration |
getOverrideModel(String name)
Get a specifically named resource that overrides this
wildcard registration
by adding additional attributes, operations or child types. |
ImmutableManagementResourceRegistration |
getParent()
Gets the registration for this resource type's parent, if there is one.
|
PathAddress |
getPathAddress()
Gets the address under which we are registered.
|
ProcessType |
getProcessType()
Gets the type of process in which this management resource type is registered.
|
ProxyController |
getProxyController(PathAddress address)
If there is a proxy controller registered under any part of the registered address it will be returned.
|
Set<ProxyController> |
getProxyControllers(PathAddress address)
Finds all proxy controllers registered at the passed in address, or at lower levels.
|
ManagementResourceRegistration |
getSubModel(PathAddress address)
Get a sub model registration.
|
boolean |
isAlias()
Gets whether this resource registration is an alias to another resource.
|
boolean |
isAllowsOverride()
Gets whether this registration will always throw an exception if
ManagementResourceRegistration.registerOverrideModel(String, OverrideDescriptionProvider) is invoked. |
boolean |
isOrderedChildResource()
Return @code true} if a child resource registration was registered using
ManagementResourceRegistration.registerSubModel(ResourceDefinition), and false otherwise |
boolean |
isRemote()
Gets whether operations against the resource represented by this registration will be proxied to
a remote process.
|
boolean |
isRuntimeOnly()
Gets whether this model node only exists in the runtime and has no representation in the
persistent configuration model.
|
void |
registerAlias(PathElement address,
AliasEntry aliasEntry)
Register an alias registration to another part of the model
|
void |
registerCapability(RuntimeCapability capability)
Registers passed capability on resource
|
void |
registerIncorporatingCapabilities(Set<RuntimeCapability> capabilities)
Registers a set of capabilities that this resource does not directly provide but to which it contributes.
|
void |
registerMetric(AttributeDefinition definition,
OperationStepHandler metricHandler)
Records that the given attribute is a metric.
|
void |
registerNotification(NotificationDefinition notification)
Record that the given notification can be emitted by this resource.
|
void |
registerNotification(NotificationDefinition notification,
boolean inherited)
Record that the given notification can be emitted by this resource.
|
void |
registerOperationHandler(OperationDefinition definition,
OperationStepHandler handler)
Register an operation handler for this resource.
|
void |
registerOperationHandler(OperationDefinition definition,
OperationStepHandler handler,
boolean inherited)
Register an operation handler for this resource.
|
ManagementResourceRegistration |
registerOverrideModel(String name,
OverrideDescriptionProvider descriptionProvider)
Register a specifically named resource that overrides this
wildcard registration
by adding additional attributes, operations or child types. |
void |
registerProxyController(PathElement address,
ProxyController proxyController)
Register a proxy controller.
|
void |
registerReadOnlyAttribute(AttributeDefinition definition,
OperationStepHandler readHandler)
Records that the given attribute can be read from but not written to, and
optionally provides an operation handler for the read.
|
void |
registerReadWriteAttribute(AttributeDefinition definition,
OperationStepHandler readHandler,
OperationStepHandler writeHandler)
Records that the given attribute can be both read from and written to, and
provides operation handlers for the read and the write.
|
ManagementResourceRegistration |
registerSubModel(ResourceDefinition resourceDefinition)
Register the existence of an addressable sub-resource of this resource.
|
void |
setRuntimeOnly(boolean runtimeOnly)
Sets whether this model node only exists in the runtime and has no representation in the
persistent configuration model.
|
void |
unregisterAlias(PathElement address)
Unregister an alias
|
void |
unregisterAttribute(String attributeName)
Remove that the given attribute if present.
|
void |
unregisterNotification(String notificationType)
Remove that the given notification can be emitted by this resource.
|
void |
unregisterOperationHandler(String operationName)
Unregister an operation handler for this resource.
|
void |
unregisterOverrideModel(String name)
Unregister a specifically named resource that overrides a
wildcard registration
by adding additional attributes, operations or child types. |
void |
unregisterProxyController(PathElement address)
Unregister a proxy controller
|
void |
unregisterSubModel(PathElement address)
Unregister the existence of an addressable sub-resource of this resource.
|
public DelegatingManagementResourceRegistration(ManagementResourceRegistration delegate)
delegate - the delegate. Cannot be nullpublic DelegatingManagementResourceRegistration(DelegatingManagementResourceRegistration.RegistrationDelegateProvider delegateProvider)
delegateProvider - provider of the delegate. Cannot be nullpublic PathAddress getPathAddress()
ImmutableManagementResourceRegistrationgetPathAddress in interface ImmutableManagementResourceRegistrationnullpublic ProcessType getProcessType()
ImmutableManagementResourceRegistrationgetProcessType in interface ImmutableManagementResourceRegistrationnullpublic ImmutableManagementResourceRegistration getParent()
ImmutableManagementResourceRegistrationgetParent in interface ImmutableManagementResourceRegistrationnull if ImmutableManagementResourceRegistration.getPathAddress() returns an address with a
size of 0public int getMaxOccurs()
ImmutableManagementResourceRegistrationgetMaxOccurs in interface ImmutableManagementResourceRegistrationpublic int getMinOccurs()
ImmutableManagementResourceRegistrationgetMinOccurs in interface ImmutableManagementResourceRegistrationpublic boolean isRuntimeOnly()
ImmutableManagementResourceRegistrationisRuntimeOnly in interface ImmutableManagementResourceRegistrationtrue if the model node has no representation in the
persistent configuration model; false otherwisepublic boolean isRemote()
ImmutableManagementResourceRegistrationisRemote in interface ImmutableManagementResourceRegistrationtrue if this registration represents a remote resource; false otherwisepublic boolean isAlias()
ImmutableManagementResourceRegistrationisAlias in interface ImmutableManagementResourceRegistrationtrue if this registration represents an alias; false otherwisepublic OperationEntry getOperationEntry(PathAddress address, String operationName)
ImmutableManagementResourceRegistrationnull if none exists.getOperationEntry in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodeoperationName - the operation namenullpublic OperationStepHandler getOperationHandler(PathAddress address, String operationName)
ImmutableManagementResourceRegistrationnull if none exists.getOperationHandler in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodeoperationName - the operation namepublic DescriptionProvider getOperationDescription(PathAddress address, String operationName)
ImmutableManagementResourceRegistrationnull if none exists.getOperationDescription in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodeoperationName - the operation namepublic Set<OperationEntry.Flag> getOperationFlags(PathAddress address, String operationName)
ImmutableManagementResourceRegistrationnull if none exist.getOperationFlags in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodeoperationName - the operation namenullpublic Set<String> getAttributeNames(PathAddress address)
ImmutableManagementResourceRegistrationgetAttributeNames in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodepublic AttributeAccess getAttributeAccess(PathAddress address, String attributeName)
ImmutableManagementResourceRegistrationgetAttributeAccess in interface ImmutableManagementResourceRegistrationaddress - the address of the resourceattributeName - the name of the attributenull if the attribute or address is unknownpublic Map<String,AttributeAccess> getAttributes(PathAddress address)
ImmutableManagementResourceRegistrationgetAttributes in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodepublic Set<String> getChildNames(PathAddress address)
ImmutableManagementResourceRegistrationgetChildNames in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodepublic Set<PathElement> getChildAddresses(PathAddress address)
ImmutableManagementResourceRegistrationgetChildAddresses in interface ImmutableManagementResourceRegistrationaddress - the address we want to find children forpublic DescriptionProvider getModelDescription(PathAddress address)
ImmutableManagementResourceRegistrationnull if none exists.getModelDescription in interface ImmutableManagementResourceRegistrationaddress - the address, relative to this nodepublic Map<String,OperationEntry> getOperationDescriptions(PathAddress address, boolean inherited)
ImmutableManagementResourceRegistrationgetOperationDescriptions in interface ImmutableManagementResourceRegistrationaddress - the addressinherited - true to include inherited operationspublic Map<String,NotificationEntry> getNotificationDescriptions(PathAddress address, boolean inherited)
ImmutableManagementResourceRegistrationgetNotificationDescriptions in interface ImmutableManagementResourceRegistrationaddress - the addressinherited - true to include inherited notificationspublic ProxyController getProxyController(PathAddress address)
ImmutableManagementResourceRegistration[a=b,c=d,e=f] and there is a proxy registered under
[a=b,c=d] that proxy will be returned.getProxyController in interface ImmutableManagementResourceRegistrationaddress - the address to look for a proxy undernull if there is nonepublic Set<ProxyController> getProxyControllers(PathAddress address)
ImmutableManagementResourceRegistrationa=b and 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.getProxyControllers in interface ImmutableManagementResourceRegistrationaddress - the address to start looking for proxies underpublic ManagementResourceRegistration getOverrideModel(String name)
ManagementResourceRegistrationwildcard registration
by adding additional attributes, operations or child types.getOverrideModel in interface ManagementResourceRegistrationname - the specific name of the resource. Cannot be null or PathElement.WILDCARD_VALUEnull if there is nonepublic ManagementResourceRegistration getSubModel(PathAddress address)
ManagementResourceRegistrationThis method overrides the superinterface method of the same name in order to require that the returned registration be mutable.
getSubModel in interface ImmutableManagementResourceRegistrationgetSubModel in interface ManagementResourceRegistrationaddress - the address, relative to this nodenull if there is nonepublic ManagementResourceRegistration registerSubModel(ResourceDefinition resourceDefinition)
ManagementResourceRegistrationresourceDefinition will be given the opportunity to
register attributes,
register operations,
and register notificationsregisterSubModel in interface ManagementResourceRegistrationresourceDefinition - source for descriptive information describing this
portion of the model (must not be null)public void unregisterSubModel(PathElement address)
ManagementResourceRegistrationunregisterSubModel in interface ManagementResourceRegistrationaddress - the child of this registry that should no longer be availablepublic boolean isAllowsOverride()
ManagementResourceRegistrationManagementResourceRegistration.registerOverrideModel(String, OverrideDescriptionProvider) is invoked. An exception will always
be thrown for root resource registrations, non-wildcard registrations, or
remote registrations.isAllowsOverride in interface ManagementResourceRegistrationtrue if an exception will not always be thrown; false if it willpublic void setRuntimeOnly(boolean runtimeOnly)
ManagementResourceRegistrationsetRuntimeOnly in interface ManagementResourceRegistrationruntimeOnly - true if the model node will have no representation in the
persistent configuration model; false otherwisepublic ManagementResourceRegistration registerOverrideModel(String name, OverrideDescriptionProvider descriptionProvider)
ManagementResourceRegistrationwildcard registration
by adding additional attributes, operations or child types.registerOverrideModel in interface ManagementResourceRegistrationname - the specific name of the resource. Cannot be null or PathElement.WILDCARD_VALUEdescriptionProvider - provider for descriptions of the additional attributes or child typespublic void unregisterOverrideModel(String name)
ManagementResourceRegistrationwildcard registration
by adding additional attributes, operations or child types.unregisterOverrideModel in interface ManagementResourceRegistrationname - the specific name of the resource. Cannot be null or PathElement.WILDCARD_VALUEpublic void registerOperationHandler(OperationDefinition definition, OperationStepHandler handler)
ManagementResourceRegistrationregisterOperationHandler in interface ManagementResourceRegistrationdefinition - the definition of operationhandler - the operation handlerpublic void registerOperationHandler(OperationDefinition definition, OperationStepHandler handler, boolean inherited)
ManagementResourceRegistrationregisterOperationHandler in interface ManagementResourceRegistrationdefinition - the definition of operationhandler - the operation handlerinherited - true if the operation is inherited to child nodes, false otherwisepublic void unregisterOperationHandler(String operationName)
ManagementResourceRegistrationunregisterOperationHandler in interface ManagementResourceRegistrationoperationName - the operation namepublic void registerReadWriteAttribute(AttributeDefinition definition, OperationStepHandler readHandler, OperationStepHandler writeHandler)
ManagementResourceRegistrationAttributeAccess.Storage.CONFIGURATION unless parameter
flags includes AttributeAccess.Flag.STORAGE_RUNTIME.registerReadWriteAttribute in interface ManagementResourceRegistrationdefinition - the attribute definition. Cannot be nullreadHandler - the handler for attribute reads. May be null
in which case the default handling is usedwriteHandler - the handler for attribute writes. Cannot be nullpublic void registerReadOnlyAttribute(AttributeDefinition definition, OperationStepHandler readHandler)
ManagementResourceRegistrationAttributeAccess.Storage.CONFIGURATION unless parameter
flags includes AttributeAccess.Flag.STORAGE_RUNTIME.registerReadOnlyAttribute in interface ManagementResourceRegistrationdefinition - the attribute definition. Cannot be nullreadHandler - the handler for attribute reads. May be null
in which case the default handling is usedpublic void registerMetric(AttributeDefinition definition, OperationStepHandler metricHandler)
ManagementResourceRegistrationregisterMetric in interface ManagementResourceRegistrationdefinition - the attribute definition. Cannot be nullmetricHandler - the handler for attribute reads. Cannot be nullpublic void unregisterAttribute(String attributeName)
ManagementResourceRegistrationunregisterAttribute in interface ManagementResourceRegistrationattributeName - the name of the attribute. Cannot be nullpublic void registerNotification(NotificationDefinition notification, boolean inherited)
ManagementResourceRegistrationregisterNotification in interface ManagementResourceRegistrationnotification - the definition of the notification. Cannot be nullinherited - true if the notification is inherited to child nodes, false otherwisepublic void registerNotification(NotificationDefinition notification)
ManagementResourceRegistrationregisterNotification in interface ManagementResourceRegistrationnotification - the definition of the notification. Cannot be nullpublic void unregisterNotification(String notificationType)
ManagementResourceRegistrationunregisterNotification in interface ManagementResourceRegistrationnotificationType - the type of the notification. Cannot be nullpublic void registerProxyController(PathElement address, ProxyController proxyController)
ManagementResourceRegistrationregisterProxyController in interface ManagementResourceRegistrationaddress - the child of this registry that should be proxiedproxyController - the proxy controllerpublic void unregisterProxyController(PathElement address)
ManagementResourceRegistrationunregisterProxyController in interface ManagementResourceRegistrationaddress - the child of this registry that should no longer be proxiedpublic void registerAlias(PathElement address, AliasEntry aliasEntry)
ManagementResourceRegistrationregisterAlias in interface ManagementResourceRegistrationaddress - the child of this registry that is an aliasaliasEntry - the target modelpublic void unregisterAlias(PathElement address)
ManagementResourceRegistrationunregisterAlias in interface ManagementResourceRegistrationaddress - the child of this registry that is an aliaspublic List<AccessConstraintDefinition> getAccessConstraints()
getAccessConstraints in interface ImmutableManagementResourceRegistrationpublic AliasEntry getAliasEntry()
ImmutableManagementResourceRegistrationgetAliasEntry in interface ImmutableManagementResourceRegistrationnull otherwisepublic Set<String> getOrderedChildTypes()
ImmutableManagementResourceRegistrationgetOrderedChildTypes in interface ImmutableManagementResourceRegistrationpublic boolean isOrderedChildResource()
ImmutableManagementResourceRegistrationManagementResourceRegistration.registerSubModel(ResourceDefinition), and false otherwiseisOrderedChildResource in interface ImmutableManagementResourceRegistrationpublic void registerCapability(RuntimeCapability capability)
ManagementResourceRegistrationregisterCapability in interface ManagementResourceRegistrationcapability - a capability to registerpublic void registerIncorporatingCapabilities(Set<RuntimeCapability> capabilities)
ManagementResourceRegistrationregistration of the capability. Any capabilities registered by
this resource will instead be included in the return value for ImmutableManagementResourceRegistration.getCapabilities().
Use of this method is only necessary if the caller wishes to specifically record capability incorporation,
instead of relying on the default resolution mechanism detailed in ImmutableManagementResourceRegistration.getIncorporatingCapabilities(), or
if it wishes disable the default resolution mechanism and specifically declare that this resource does not
contribute to parent capabilities. It does the latter by passing an empty set as the capabilities
parameter. Passing an empty set is not necessary if this resource itself directly
provides a capability, as it is the contract of
ImmutableManagementResourceRegistration.getIncorporatingCapabilities() that in that case it must return an empty set.
registerIncorporatingCapabilities in interface ManagementResourceRegistrationcapabilities - set of capabilities, or null if 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 parentpublic Set<RuntimeCapability> getCapabilities()
ImmutableManagementResourceRegistrationgetCapabilities in interface ImmutableManagementResourceRegistrationImmutableManagementResourceRegistration.getIncorporatingCapabilities()public Set<RuntimeCapability> getIncorporatingCapabilities()
ImmutableManagementResourceRegistrationImmutableManagementResourceRegistration.getCapabilities().
Often, this method will return null, which has a special meaning. A null value 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:
host. Child resources do not contribute
to host root capabilities unless they specifically declare they do so
A non-null value 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 return null from 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 RuntimeCapability itself. A
typical "contributing" resource would be one that represents a chunk of configuration directly used by the parent
resource's capability.
getIncorporatingCapabilities in interface ImmutableManagementResourceRegistrationnull if 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 return null if ImmutableManagementResourceRegistration.getCapabilities()
returns a non-empty set.ImmutableManagementResourceRegistration.getCapabilities()Copyright © 2018 JBoss by Red Hat. All rights reserved.