public abstract class MapAttributeDefinition extends AttributeDefinition
ModelType.OBJECT
attribute in a Resource
,
where all children of the object have values of the same type; i.e. the attribute represents a logical map of
arbitrary key value pairs.Modifier and Type | Class and Description |
---|---|
static class |
MapAttributeDefinition.Builder<BUILDER extends MapAttributeDefinition.Builder,ATTRIBUTE extends MapAttributeDefinition> |
AttributeDefinition.NameAndGroup
Modifier and Type | Field and Description |
---|---|
static ParameterCorrector |
LIST_TO_MAP_CORRECTOR |
attributeMarshaller, COMPLEX_TYPES, referenceRecorder
Modifier | Constructor and Description |
---|---|
protected |
MapAttributeDefinition(MapAttributeDefinition.Builder<? extends MapAttributeDefinition.Builder,? extends MapAttributeDefinition> builder) |
|
MapAttributeDefinition(String name,
boolean allowNull,
ParameterValidator elementValidator)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
addAttributeValueTypeDescription(org.jboss.dmr.ModelNode result,
ResourceDescriptionResolver resolver,
Locale locale,
ResourceBundle bundle) |
org.jboss.dmr.ModelNode |
addOperationParameterDescription(org.jboss.dmr.ModelNode resourceDescription,
String operationName,
ResourceDescriptionResolver resolver,
Locale locale,
ResourceBundle bundle)
Creates a returns a basic model node describing a parameter that sets this attribute, after attaching it to the
given overall operation description model node.
|
org.jboss.dmr.ModelNode |
addOperationParameterDescription(ResourceBundle bundle,
String prefix,
org.jboss.dmr.ModelNode operationDescription)
Creates a returns a basic model node describing a parameter that sets this attribute, after attaching it to the
given overall operation description model node.
|
protected abstract void |
addOperationParameterValueTypeDescription(org.jboss.dmr.ModelNode result,
String operationName,
ResourceDescriptionResolver resolver,
Locale locale,
ResourceBundle bundle) |
org.jboss.dmr.ModelNode |
addResourceAttributeDescription(org.jboss.dmr.ModelNode resourceDescription,
ResourceDescriptionResolver resolver,
Locale locale,
ResourceBundle bundle)
Creates a returns a basic model node describing the attribute, after attaching it to the given overall resource
description model node.
|
org.jboss.dmr.ModelNode |
addResourceAttributeDescription(ResourceBundle bundle,
String prefix,
org.jboss.dmr.ModelNode resourceDescription)
Creates a returns a basic model node describing the attribute, after attaching it to the given overall resource
description model node.
|
protected abstract void |
addValueTypeDescription(org.jboss.dmr.ModelNode node,
ResourceBundle bundle) |
protected org.jboss.dmr.ModelNode |
convertParameterElementExpressions(org.jboss.dmr.ModelNode parameterElementValue)
Examine the given value item of a parameter map for any expression syntax, converting the relevant node to
ModelType.EXPRESSION if such is supported. |
protected org.jboss.dmr.ModelNode |
convertParameterExpressions(org.jboss.dmr.ModelNode parameter)
Iterates through the items in the
parameter map, calling convertParameterElementExpressions(ModelNode)
for each value. |
ParameterValidator |
getElementValidator()
The validator used to validate values in the map.
|
void |
marshallAsElement(org.jboss.dmr.ModelNode resourceModel,
boolean marshallDefault,
XMLStreamWriter writer)
Marshalls the value from the given
resourceModel as an xml element, if it
is marshallable . |
org.jboss.dmr.ModelNode |
parse(String value,
Location location)
Creates and returns a
ModelNode using the given value after first validating the node
against this object's validator . |
void |
parseAndAddParameterElement(String key,
String value,
org.jboss.dmr.ModelNode operation,
org.jboss.staxmapper.XMLExtendedStreamReader reader) |
addAccessConstraints, addAllowedValuesToDescription, addCapabilityRequirements, addDeprecatedInfo, convertStringExpression, correctValue, getAccessConstraints, getAllowedValues, getAlternatives, getArbitraryDescriptors, getAttributeDeprecatedDescription, getAttributeGroup, getAttributeMarshaller, getAttributeTextDescription, getCorrector, getDefaultValue, getDeprecationData, getFlags, getMeasurementUnit, getName, getNoTextDescription, getParser, getReferenceRecorder, getRequires, getType, getUndefinedMetricValue, getValidator, getXmlName, hasAlternative, hasCapabilityRequirements, isAllowed, isAllowExpression, isAllowNull, isDeprecated, isMarshallable, isMarshallable, isNullSignificant, isRequired, isResourceOnly, isValidatingNull, marshallAsElement, removeCapabilityRequirements, resolveModelAttribute, resolveModelAttribute, resolveValue, resolveValue, validateAndSet, validateOperation
public static final ParameterCorrector LIST_TO_MAP_CORRECTOR
@Deprecated public MapAttributeDefinition(String name, boolean allowNull, ParameterValidator elementValidator)
protected MapAttributeDefinition(MapAttributeDefinition.Builder<? extends MapAttributeDefinition.Builder,? extends MapAttributeDefinition> builder)
public org.jboss.dmr.ModelNode parse(String value, Location location) throws XMLStreamException
ModelNode
using the given value
after first validating the node
against this object's validator
.
If value
is null
and a default value
is available, the value of that
default value will be used.
value
- the value. Will be trimmed
before use if not null
.location
- current location of the parser's XMLStreamReader
. Used for any exception
messageModelNode
representing the parsed valueXMLStreamException
- if value
is not validpublic void parseAndAddParameterElement(String key, String value, org.jboss.dmr.ModelNode operation, org.jboss.staxmapper.XMLExtendedStreamReader reader) throws XMLStreamException
XMLStreamException
public org.jboss.dmr.ModelNode addResourceAttributeDescription(ResourceBundle bundle, String prefix, org.jboss.dmr.ModelNode resourceDescription)
AttributeDefinition
addResourceAttributeDescription
in class AttributeDefinition
bundle
- resource bundle to use for text descriptionsprefix
- prefix to prepend to the attribute name key when looking up descriptionsresourceDescription
- the overall resource descriptionpublic org.jboss.dmr.ModelNode addOperationParameterDescription(ResourceBundle bundle, String prefix, org.jboss.dmr.ModelNode operationDescription)
AttributeDefinition
addOperationParameterDescription
in class AttributeDefinition
bundle
- resource bundle to use for text descriptionsprefix
- prefix to prepend to the attribute name key when looking up descriptionsoperationDescription
- the overall resource descriptionpublic ParameterValidator getElementValidator()
protected abstract void addValueTypeDescription(org.jboss.dmr.ModelNode node, ResourceBundle bundle)
public org.jboss.dmr.ModelNode addResourceAttributeDescription(org.jboss.dmr.ModelNode resourceDescription, ResourceDescriptionResolver resolver, Locale locale, ResourceBundle bundle)
AttributeDefinition
addResourceAttributeDescription
in class AttributeDefinition
resourceDescription
- the overall resource descriptionresolver
- provider of localized text descriptionslocale
- locale to pass to the resolverbundle
- bundle to pass to the resolverprotected abstract void addAttributeValueTypeDescription(org.jboss.dmr.ModelNode result, ResourceDescriptionResolver resolver, Locale locale, ResourceBundle bundle)
public org.jboss.dmr.ModelNode addOperationParameterDescription(org.jboss.dmr.ModelNode resourceDescription, String operationName, ResourceDescriptionResolver resolver, Locale locale, ResourceBundle bundle)
AttributeDefinition
addOperationParameterDescription
in class AttributeDefinition
resourceDescription
- the overall resource descriptionoperationName
- the operation nameresolver
- provider of localized text descriptionslocale
- locale to pass to the resolverbundle
- bundle to pass to the resolverprotected abstract void addOperationParameterValueTypeDescription(org.jboss.dmr.ModelNode result, String operationName, ResourceDescriptionResolver resolver, Locale locale, ResourceBundle bundle)
public void marshallAsElement(org.jboss.dmr.ModelNode resourceModel, boolean marshallDefault, XMLStreamWriter writer) throws XMLStreamException
AttributeDefinition
resourceModel
as an xml element, if it
is marshallable
.marshallAsElement
in class AttributeDefinition
resourceModel
- the model, a non-null node of ModelType.OBJECT
.marshallDefault
- true
if the value should be marshalled even if it matches the default valuewriter
- stream writer to use for writing the attributeXMLStreamException
- if thrown by writer
protected org.jboss.dmr.ModelNode convertParameterExpressions(org.jboss.dmr.ModelNode parameter)
parameter
map, calling convertParameterElementExpressions(ModelNode)
for each value.
Note that the default implementation of convertParameterElementExpressions(ModelNode)
will only convert simple ModelType.STRING
values. If users need to handle complex values
with embedded expressions, they should use a subclass that overrides that method.
ModelType.EXPRESSION
if such is supported.
This implementation checks if expressions are allowed
and if so, calls
AttributeDefinition.convertStringExpression(ModelNode)
to convert a ModelType.STRING
to a ModelType.EXPRESSION
.
No other conversions are performed. For use cases requiring more complex behavior, a subclass that overrides
this method should be used.
If expressions are supported this implementation also checks if the attribute type
is one of
the complex DMR types
. If it is, an IllegalStateException
is thrown, as this
implementation cannot properly handle such a combination, and a subclass that overrides this method should be used.
convertParameterExpressions
in class AttributeDefinition
parameter
- the node to examine. Cannot not be null
parameter
but with expressions converted, or the original parameter if no
conversion was performed. Will not return null
protected org.jboss.dmr.ModelNode convertParameterElementExpressions(org.jboss.dmr.ModelNode parameterElementValue)
ModelType.EXPRESSION
if such is supported.parameterElementValue
- the node to examine. Will not be null
null
Copyright © 2023 JBoss by Red Hat. All rights reserved.