Package org.jboss.as.controller.registry
Class AbstractModelResource
- java.lang.Object
-
- org.jboss.as.controller.registry.ResourceProvider.ResourceProviderRegistry
-
- org.jboss.as.controller.registry.AbstractModelResource
-
public abstract class AbstractModelResource extends ResourceProvider.ResourceProviderRegistry implements Resource
AbstractResource
implementation.Concurrency note: this class is *not* thread safe
- Author:
- Emanuel Muckenhuber
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jboss.as.controller.registry.Resource
Resource.Factory, Resource.NoSuchResourceException, Resource.ResourceEntry, Resource.Tools
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractModelResource()
protected
AbstractModelResource(boolean runtimeOnly)
protected
AbstractModelResource(boolean runtimeOnly, String... orderedChildTypes)
protected
AbstractModelResource(boolean runtimeOnly, Set<String> orderedChildTypes)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Resource
clone()
Creates and returns a copy of this resource.protected void
cloneProviders(AbstractModelResource clone)
Resource
getChild(PathElement address)
Get a single child of this resource with the given address.Set<Resource.ResourceEntry>
getChildren(String childType)
Get the children for a given type.Set<String>
getChildrenNames(String childType)
Get the children names for a given type.Set<String>
getChildTypes()
Get a list of registered child types for this resource.protected ResourceProvider
getOrCreateProvider(String type)
Set<String>
getOrderedChildTypes()
Return the child types for which the order matters.protected ResourceProvider
getProvider(String type)
boolean
hasChild(PathElement address)
Determine whether this resource has a child with the given address.boolean
hasChildren(String childType)
Determine whether this resource has any child of a given type.boolean
isProxy()
Gets whether operations against this resource will be proxied to a remote process.boolean
isRuntime()
Gets whether this resource only exists in the runtime and has no representation in the persistent configuration model.Resource
navigate(PathAddress address)
Navigate the resource tree.void
registerChild(PathElement address, int index, Resource resource)
Register a child resourcevoid
registerChild(PathElement address, Resource resource)
Register a child resource.protected void
registerResourceProvider(String type, ResourceProvider provider)
Resource
removeChild(PathElement address)
Remove a child resource.Resource
requireChild(PathElement address)
Get a single child of this resource with the given address.-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jboss.as.controller.registry.Resource
getModel, isModelDefined, shallowCopy, writeModel
-
-
-
-
Constructor Detail
-
AbstractModelResource
protected AbstractModelResource()
-
AbstractModelResource
protected AbstractModelResource(boolean runtimeOnly)
-
AbstractModelResource
protected AbstractModelResource(boolean runtimeOnly, String... orderedChildTypes)
-
-
Method Detail
-
getChild
public Resource getChild(PathElement address)
Description copied from interface:Resource
Get a single child of this resource with the given address. If no such child exists this will returnnull
.
-
hasChild
public boolean hasChild(PathElement address)
Description copied from interface:Resource
Determine whether this resource has a child with the given address. In case thePathElement
has a wildcard as value, it will determine whether this resource has any resources of a given type.
-
requireChild
public Resource requireChild(PathElement address)
Description copied from interface:Resource
Get a single child of this resource with the given address. If no such child exists a, an exception is thrown.- Specified by:
requireChild
in interfaceResource
- Parameters:
address
- the path element- Returns:
- the resource
-
hasChildren
public boolean hasChildren(String childType)
Description copied from interface:Resource
Determine whether this resource has any child of a given type.- Specified by:
hasChildren
in interfaceResource
- Parameters:
childType
- the child type- Returns:
true
if there is any child of the given type
-
navigate
public Resource navigate(PathAddress address)
Description copied from interface:Resource
Navigate the resource tree.
-
getChildrenNames
public Set<String> getChildrenNames(String childType)
Description copied from interface:Resource
Get the children names for a given type.- Specified by:
getChildrenNames
in interfaceResource
- Parameters:
childType
- the child type- Returns:
- the names of registered child resources
-
getChildTypes
public Set<String> getChildTypes()
Description copied from interface:Resource
Get a list of registered child types for this resource.- Specified by:
getChildTypes
in interfaceResource
- Returns:
- the registered child types
-
getChildren
public Set<Resource.ResourceEntry> getChildren(String childType)
Description copied from interface:Resource
Get the children for a given type.- Specified by:
getChildren
in interfaceResource
- Parameters:
childType
- the child type- Returns:
- the registered children
-
registerChild
public void registerChild(PathElement address, Resource resource)
Description copied from interface:Resource
Register a child resource.- Specified by:
registerChild
in interfaceResource
- Parameters:
address
- the addressresource
- the resource
-
registerChild
public void registerChild(PathElement address, int index, Resource resource)
Description copied from interface:Resource
Register a child resource- Specified by:
registerChild
in interfaceResource
- Parameters:
address
- the addressindex
- the index at which to add the resource. Existing children with this index and higher will be shifted one uoresource
- the resource
-
removeChild
public Resource removeChild(PathElement address)
Description copied from interface:Resource
Remove a child resource.- Specified by:
removeChild
in interfaceResource
- Parameters:
address
- the address- Returns:
- the resource
-
isProxy
public boolean isProxy()
Description copied from interface:Resource
Gets whether operations against this resource will be proxied to a remote process.
-
isRuntime
public boolean isRuntime()
Description copied from interface:Resource
Gets whether this resource only exists in the runtime and has no representation in the persistent configuration model.
-
getOrderedChildTypes
public Set<String> getOrderedChildTypes()
Description copied from interface:Resource
Return the child types for which the order matters.- Specified by:
getOrderedChildTypes
in interfaceResource
- Returns:
true
if the order of the children matters. If there are no ordered children and empty set is returned. This method should never returnnull
-
registerResourceProvider
protected void registerResourceProvider(String type, ResourceProvider provider)
- Specified by:
registerResourceProvider
in classResourceProvider.ResourceProviderRegistry
-
getProvider
protected final ResourceProvider getProvider(String type)
-
getOrCreateProvider
protected ResourceProvider getOrCreateProvider(String type)
-
clone
public abstract Resource clone()
Description copied from interface:Resource
Creates and returns a copy of this resource.
-
cloneProviders
protected void cloneProviders(AbstractModelResource clone)
-
-