Package org.jboss.as.controller
Class SimpleResourceDefinition
- java.lang.Object
-
- org.jboss.as.controller.SimpleResourceDefinition
-
- All Implemented Interfaces:
ResourceDefinition
- Direct Known Subclasses:
AbstractSocketBindingGroupResourceDefinition
,AbstractSocketBindingResourceDefinition
,BaseHttpInterfaceResourceDefinition
,BaseNativeInterfaceResourceDefinition
,ExtensionResourceDefinition
,ExtensionSubsystemResourceDefinition
,InterfaceDefinition
,ModelOnlyResourceDefinition
,PathResourceDefinition
,PersistentResourceDefinition
public class SimpleResourceDefinition extends Object implements ResourceDefinition
Basic implementation ofResourceDefinition
.- Author:
- Brian Stansberry (c) 2011 Red Hat Inc.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SimpleResourceDefinition.Parameters
Parameters object for the SimpleResourceDefinition constructor
-
Constructor Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description List<AccessConstraintDefinition>
getAccessConstraints()
Get the definition of any access constraints associated with the resource.protected DeprecationData
getDeprecationData()
DescriptionProvider
getDescriptionProvider(ImmutableManagementResourceRegistration resourceRegistration)
Gets aDescriptionProvider
for the given resource.protected static EnumSet<OperationEntry.Flag>
getFlagsSet(OperationEntry.Flag... vararg)
int
getMaxOccurs()
Gets the maximum number of times a resource of the type described by this definition 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 definition can occur under its parent resource (or, for a root resource, the number of times it can occur at all.)PathElement
getPathElement()
Gets the path element that describes how to navigate to this resource from its parent resource, ornull
if this is a definition of a root resource.ResourceDescriptionResolver
getResourceDescriptionResolver()
Gets theResourceDescriptionResolver
used by this resource definition, ornull
if aResourceDescriptionResolver
is not used.boolean
isFeature()
boolean
isOrderedChild()
Whether this resource registration is ordered in the parent.boolean
isRuntime()
void
registerAdditionalRuntimePackages(ManagementResourceRegistration resourceRegistration)
Register "additional" Galleon packages that must be installed in order for this Resource to function.protected void
registerAddOperation(ManagementResourceRegistration registration, AbstractAddStepHandler handler, OperationEntry.Flag... flags)
Registers add operationprotected void
registerAddOperation(ManagementResourceRegistration registration, OperationStepHandler handler, OperationEntry.Flag... flags)
void
registerAttributes(ManagementResourceRegistration resourceRegistration)
Register operations associated with this resource.void
registerCapabilities(ManagementResourceRegistration resourceRegistration)
Register capabilities associated with this resource.void
registerChildren(ManagementResourceRegistration resourceRegistration)
Register child resources associated with this resource.void
registerNotifications(ManagementResourceRegistration resourceRegistration)
Register notifications associated with this resource.void
registerOperations(ManagementResourceRegistration resourceRegistration)
Register operations associated with this resource.protected void
registerRemoveOperation(ManagementResourceRegistration registration, AbstractRemoveStepHandler handler, OperationEntry.Flag... flags)
protected void
registerRemoveOperation(ManagementResourceRegistration registration, OperationStepHandler handler, OperationEntry.Flag... flags)
Deprecated.protected void
setDeprecated(ModelVersion since)
-
-
-
Constructor Detail
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, DescriptionProvider descriptionProvider)
Deprecated.ResourceDefinition
that uses the given {code descriptionProvider} to describe the resource.- Parameters:
pathElement
- the path. Can benull
.descriptionProvider
- the description provider. Cannot benull
- Throws:
IllegalArgumentException
- ifdescriptionProvider
isnull
.
-
SimpleResourceDefinition
public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver)
ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Cannot benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
- Throws:
IllegalArgumentException
- if any parameter isnull
.
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, boolean isRuntime)
Deprecated.ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Cannot benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
isRuntime
- tells if resource is runtime- Throws:
IllegalArgumentException
- if any parameter isnull
.
-
SimpleResourceDefinition
public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, OperationStepHandler addHandler, OperationStepHandler removeHandler)
ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Cannot benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
*addHandler
- a handler toregister
for the resource "add" operation. Can be {null}removeHandler
- a handler toregister
for the resource "remove" operation. Can be {null}- Throws:
IllegalArgumentException
- if any parameter isnull
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, OperationStepHandler addHandler, OperationStepHandler removeHandler, boolean isRuntime)
Deprecated.ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Cannot benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
*addHandler
- a handler toregister
for the resource "add" operation. Can be {null}removeHandler
- a handler toregister
for the resource "remove" operation. Can be {null}isRuntime
- tells is resources is runtime or not- Throws:
IllegalArgumentException
- if any parameter isnull
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, OperationStepHandler addHandler, OperationStepHandler removeHandler, DeprecationData deprecationData)
Deprecated.ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Cannot benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
*addHandler
- a handler toregister
for the resource "add" operation. Can be {null}removeHandler
- a handler toregister
for the resource "remove" operation. Can be {null}deprecationData
- Information describing deprecation of this resource. Can benull
if the resource isn't deprecated.- Throws:
IllegalArgumentException
- if any parameter isnull
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, OperationStepHandler addHandler, OperationStepHandler removeHandler, OperationEntry.Flag addRestartLevel, OperationEntry.Flag removeRestartLevel)
Deprecated.ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Can benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
*addHandler
- a handler toregister
for the resource "add" operation. Can be {null}removeHandler
- a handler toregister
for the resource "remove" operation. Can be {null}- Throws:
IllegalArgumentException
- ifdescriptionResolver
isnull
.
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, OperationStepHandler addHandler, OperationStepHandler removeHandler, OperationEntry.Flag addRestartLevel, OperationEntry.Flag removeRestartLevel, DeprecationData deprecationData)
Deprecated.ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Can benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
*addHandler
- a handler toregister
for the resource "add" operation. Can be {null}removeHandler
- a handler toregister
for the resource "remove" operation. Can be {null}deprecationData
- Information describing deprecation of this resource. Can benull
if the resource isn't deprecated.- Throws:
IllegalArgumentException
- ifdescriptionResolver
isnull
.
-
SimpleResourceDefinition
@Deprecated public SimpleResourceDefinition(PathElement pathElement, ResourceDescriptionResolver descriptionResolver, OperationStepHandler addHandler, OperationStepHandler removeHandler, OperationEntry.Flag addRestartLevel, OperationEntry.Flag removeRestartLevel, DeprecationData deprecationData, boolean runtime)
Deprecated.ResourceDefinition
that uses the given {code descriptionResolver} to configure aDefaultResourceDescriptionProvider
to describe the resource.- Parameters:
pathElement
- the path. Can benull
.descriptionResolver
- the description resolver to use in the description provider. Cannot benull
*addHandler
- a handler toregister
for the resource "add" operation. Can be {null}removeHandler
- a handler toregister
for the resource "remove" operation. Can be {null}deprecationData
- Information describing deprecation of this resource. Can benull
if the resource isn't deprecated.runtime
- Whether this is a runtime resource- Throws:
IllegalArgumentException
- ifdescriptionResolver
isnull
.
-
SimpleResourceDefinition
public SimpleResourceDefinition(SimpleResourceDefinition.Parameters parameters)
Constructs aResourceDefinition
using the passed in parameters object.- Parameters:
parameters
-SimpleResourceDefinition.Parameters
to configure this ResourceDefinition- Throws:
IllegalStateException
- if the parameters object is not valid.
-
-
Method Detail
-
getPathElement
public PathElement getPathElement()
Description copied from interface:ResourceDefinition
Gets the path element that describes how to navigate to this resource from its parent resource, ornull
if this is a definition of a root resource.- Specified by:
getPathElement
in interfaceResourceDefinition
- Returns:
- the path element, or
null
if this is a definition of a root resource.
-
getDescriptionProvider
public DescriptionProvider getDescriptionProvider(ImmutableManagementResourceRegistration resourceRegistration)
Description copied from interface:ResourceDefinition
Gets aDescriptionProvider
for the given resource.- Specified by:
getDescriptionProvider
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- the resource. Cannot benull
- Returns:
- the description provider. Will not be
null
-
registerOperations
public void registerOperations(ManagementResourceRegistration resourceRegistration)
Register operations associated with this resource. Registers an add operation handler or a remove operation handler if one was provided to the constructor.- Specified by:
registerOperations
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- aManagementResourceRegistration
created from this definition
-
registerAttributes
public void registerAttributes(ManagementResourceRegistration resourceRegistration)
Description copied from interface:ResourceDefinition
Register operations associated with this resource.- Specified by:
registerAttributes
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- aManagementResourceRegistration
created from this definition
-
registerNotifications
public void registerNotifications(ManagementResourceRegistration resourceRegistration)
Description copied from interface:ResourceDefinition
Register notifications associated with this resource.- Specified by:
registerNotifications
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- aManagementResourceRegistration
created from this definition
-
registerChildren
public void registerChildren(ManagementResourceRegistration resourceRegistration)
Description copied from interface:ResourceDefinition
Register child resources associated with this resource.- Specified by:
registerChildren
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- aManagementResourceRegistration
created from this definition
-
registerCapabilities
public void registerCapabilities(ManagementResourceRegistration resourceRegistration)
Register capabilities associated with this resource.Classes that overrides this method MUST call
super.registerCapabilities(resourceRegistration)
.- Specified by:
registerCapabilities
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- aManagementResourceRegistration
created from this definition
-
registerAdditionalRuntimePackages
public void registerAdditionalRuntimePackages(ManagementResourceRegistration resourceRegistration)
Description copied from interface:ResourceDefinition
Register "additional" Galleon packages that must be installed in order for this Resource to function. NB: the packages need to be visible from the feature pack that contains the ResourceDefinition. It can't be any package from any feature pack. The purpose of providing this information is to make it available to the Galleon tooling that produces Galleon feature-specs, in order to allow the tooling to include the package information in the relevant spec.A package is "additional" if it is not one of the "standard" packages that must be installed. The names of "standard" packages should not be registered. The "standard" packages are:
- The root package for the process type; i.e. the package that provides the main module whose name is passed to JBoss Modules when the process is launched.
- The package that installs the module that provides the extension in which the resource is defined.
- Any package that is non-optionally directly or transitively required by one of the other types of standard packages.
-
Packages that install required modules injected into Deployment Unit can be registered as
required
RuntimePackageDependency
. -
Packages that install optional modules injected into Deployment Unit can be registered as
optional
RuntimePackageDependency
. -
Packages that install modules that are only required if the resource associated to this
definition is instantiated are to be registered as required
RuntimePackageDependency
. -
Packages that install modules that are only required by this feature in order to interact with other features
are to be registered as passive
RuntimePackageDependency
. A passive dependency is provisioned only if its own required dependencies are present.
- Specified by:
registerAdditionalRuntimePackages
in interfaceResourceDefinition
- Parameters:
resourceRegistration
- aManagementResourceRegistration
created from this definition
-
getResourceDescriptionResolver
public ResourceDescriptionResolver getResourceDescriptionResolver()
Gets theResourceDescriptionResolver
used by this resource definition, ornull
if aResourceDescriptionResolver
is not used.- Returns:
- the resource description resolver, or
null
-
registerAddOperation
@Deprecated protected void registerAddOperation(ManagementResourceRegistration registration, OperationStepHandler handler, OperationEntry.Flag... flags)
Registers add operation- Parameters:
registration
- resource on which to registerhandler
- operation handler to registerflags
- with flags
-
registerAddOperation
protected void registerAddOperation(ManagementResourceRegistration registration, AbstractAddStepHandler handler, OperationEntry.Flag... flags)
Registers add operation Registers add operation- Parameters:
registration
- resource on which to registerhandler
- operation handler to registerflags
- with flags
-
registerRemoveOperation
@Deprecated protected void registerRemoveOperation(ManagementResourceRegistration registration, OperationStepHandler handler, OperationEntry.Flag... flags)
Deprecated.
-
registerRemoveOperation
protected void registerRemoveOperation(ManagementResourceRegistration registration, AbstractRemoveStepHandler handler, OperationEntry.Flag... flags)
-
getFlagsSet
protected static EnumSet<OperationEntry.Flag> getFlagsSet(OperationEntry.Flag... vararg)
-
getAccessConstraints
public List<AccessConstraintDefinition> getAccessConstraints()
Get the definition of any access constraints associated with the resource.- Specified by:
getAccessConstraints
in interfaceResourceDefinition
- Returns:
- this default implementation simply returns an empty list.
-
setDeprecated
protected void setDeprecated(ModelVersion since)
-
getDeprecationData
protected DeprecationData getDeprecationData()
-
isRuntime
public boolean isRuntime()
- Specified by:
isRuntime
in interfaceResourceDefinition
- Returns:
- true if resource is runtime
-
getMinOccurs
public int getMinOccurs()
Gets the minimum number of times a resource of the type described by this definition can occur under its parent resource (or, for a root resource, the number of times it can occur at all.)- Specified by:
getMinOccurs
in interfaceResourceDefinition
- Returns:
- the minimum number of occurrences
-
getMaxOccurs
public int getMaxOccurs()
Gets the maximum number of times a resource of the type described by this definition can occur under its parent resource (or, for a root resource, the minimum number of times it can occur at all.)- Specified by:
getMaxOccurs
in interfaceResourceDefinition
- Returns:
- the minimum number of occurrences
-
isOrderedChild
public boolean isOrderedChild()
Whether this resource registration is ordered in the parent. The automatically generated 'add' operation will get theadd-index
parameter added. Also, it will get registered as an ordered child in the parent's management resource registration.- Specified by:
isOrderedChild
in interfaceResourceDefinition
- Returns:
- whether this is an ordered child resource
-
isFeature
public boolean isFeature()
- Specified by:
isFeature
in interfaceResourceDefinition
-
-