public class DelegatingResource extends ResourceProvider.ResourceProviderRegistry implements Resource
Resource
implementation that simply delegates to another
Resource
. 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 |
DelegatingResource.ResourceDelegateProvider
Provides a delegate for use by a
DelegatingResource . |
Resource.Factory, Resource.NoSuchResourceException, Resource.ResourceEntry, Resource.Tools
Constructor and Description |
---|
DelegatingResource(DelegatingResource.ResourceDelegateProvider delegateProvider)
Creates a new DelegatingResource with a possibly changing delegate.
|
DelegatingResource(Resource delegate)
Creates a new DelegatingResource with a fixed delegate.
|
Modifier and Type | Method and Description |
---|---|
Resource |
clone() |
Resource |
getChild(PathElement element)
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.
|
org.jboss.dmr.ModelNode |
getModel()
Get the local model.
|
Set<String> |
getOrderedChildTypes()
Return the child types for which the order matters.
|
boolean |
hasChild(PathElement element)
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 |
isModelDefined()
Determine whether the model of this resource is defined.
|
boolean |
isProxy() |
boolean |
isRuntime() |
Resource |
navigate(PathAddress address)
Navigate the resource tree.
|
void |
registerChild(PathElement address,
int index,
Resource resource)
Register a child resource
|
void |
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 element)
Get a single child of this resource with the given address.
|
void |
writeModel(org.jboss.dmr.ModelNode newModel)
Write the model.
|
public DelegatingResource(Resource delegate)
delegate
- the delegate. Cannot be null
public DelegatingResource(DelegatingResource.ResourceDelegateProvider delegateProvider)
delegateProvider
- provider of the delegate. Cannot be null
public Resource clone()
public Resource getChild(PathElement element)
Resource
null
.public Set<Resource.ResourceEntry> getChildren(String childType)
Resource
getChildren
in interface Resource
childType
- the child typepublic Set<String> getChildrenNames(String childType)
Resource
getChildrenNames
in interface Resource
childType
- the child typepublic Set<String> getChildTypes()
Resource
getChildTypes
in interface Resource
public org.jboss.dmr.ModelNode getModel()
Resource
public boolean hasChild(PathElement element)
Resource
PathElement
has
a wildcard as value, it will determine whether this resource has any resources of a given type.public boolean hasChildren(String childType)
Resource
hasChildren
in interface Resource
childType
- the child typetrue
if there is any child of the given typepublic boolean isModelDefined()
Resource
isModelDefined
in interface Resource
true
if the local model is definedpublic Resource navigate(PathAddress address)
Resource
public void registerChild(PathElement address, Resource resource)
Resource
registerChild
in interface Resource
address
- the addressresource
- the resourcepublic void registerChild(PathElement address, int index, Resource resource)
Resource
registerChild
in interface Resource
address
- the addressindex
- the index at which to add the resource. Existing children with this index and higher will be shifted one uoresource
- the resourcepublic Resource removeChild(PathElement address)
Resource
removeChild
in interface Resource
address
- the addresspublic Resource requireChild(PathElement element)
Resource
requireChild
in interface Resource
element
- the path elementpublic void writeModel(org.jboss.dmr.ModelNode newModel)
Resource
writeModel
in interface Resource
newModel
- the new modelprotected void registerResourceProvider(String type, ResourceProvider provider)
registerResourceProvider
in class ResourceProvider.ResourceProviderRegistry
public Set<String> getOrderedChildTypes()
Resource
getOrderedChildTypes
in interface Resource
true
if the order of the children matters. If there are no ordered
children and empty set is returned. This method should never return null
Copyright © 2023 JBoss by Red Hat. All rights reserved.