Class SimpleListAttributeDefinition

All Implemented Interfaces:
Feature

public class SimpleListAttributeDefinition extends ListAttributeDefinition
AttributeDefinition for attributes that represent lists with simple element types (i.e. not ModelType.LIST or ModelType.OBJECT. Date: 13.10.2011
Author:
James R. Perkins, Richard Achmatowicz (c) 2012 RedHat Inc., Tomaz Cerar
  • Constructor Details

  • Method Details

    • getValueType

      public AttributeDefinition getValueType()
    • getValueAttributeDefinition

      public AttributeDefinition getValueAttributeDefinition()
      Description copied from class: ListAttributeDefinition
      Returns an AttributeDefinition describing the content of the list.
      Overrides:
      getValueAttributeDefinition in class ListAttributeDefinition
      Returns:
      an AttributeDefinition describing the content of the list - null if none is defined.
    • addResourceAttributeDescription

      public org.jboss.dmr.ModelNode addResourceAttributeDescription(ResourceBundle bundle, String prefix, org.jboss.dmr.ModelNode resourceDescription)
      Description copied from class: AttributeDefinition
      Creates a returns a basic model node describing the attribute, after attaching it to the given overall resource description model node. The node describing the attribute is returned to make it easy to perform further modification.
      Overrides:
      addResourceAttributeDescription in class ListAttributeDefinition
      Parameters:
      bundle - resource bundle to use for text descriptions
      prefix - prefix to prepend to the attribute name key when looking up descriptions
      resourceDescription - the overall resource description
      Returns:
      the attribute description node
    • addOperationParameterDescription

      public org.jboss.dmr.ModelNode addOperationParameterDescription(ResourceBundle bundle, String prefix, org.jboss.dmr.ModelNode operationDescription)
      Description copied from class: AttributeDefinition
      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. The node describing the parameter is returned to make it easy to perform further modification.
      Overrides:
      addOperationParameterDescription in class ListAttributeDefinition
      Parameters:
      bundle - resource bundle to use for text descriptions
      prefix - prefix to prepend to the attribute name key when looking up descriptions
      operationDescription - the overall resource description
      Returns:
      the attribute description node
    • addCapabilityRequirements

      public void addCapabilityRequirements(OperationContext context, Resource resource, org.jboss.dmr.ModelNode attributeValue)
      Description copied from class: AttributeDefinition
      Based on the given attribute value, add capability requirements. If this definition is for an attribute whose value is or contains a reference to the name of some capability, this method should record the addition of a requirement for the capability.

      This is a no-op in this base class. Subclasses that support attribute types that can represent capability references should override this method.

      Overrides:
      addCapabilityRequirements in class AttributeDefinition
      Parameters:
      context - the operation context
      resource - the resource on which requirements are gathered
      attributeValue - the value of the attribute described by this object
    • removeCapabilityRequirements

      public void removeCapabilityRequirements(OperationContext context, Resource resource, org.jboss.dmr.ModelNode attributeValue)
      Description copied from class: AttributeDefinition
      Based on the given attribute value, remove capability requirements. If this definition is for an attribute whose value is or contains a reference to the name of some capability, this method should record the removal of a requirement for the capability.

      This is a no-op in this base class. Subclasses that support attribute types that can represent capability references should override this method.

      Overrides:
      removeCapabilityRequirements in class AttributeDefinition
      Parameters:
      context - the operation context
      resource - resource from which capability requirement is to be removed from, null is legal value in case that CapabilityReferenceRecorder doesn't require it.
      attributeValue - the value of the attribute described by this object
    • getReferenceRecorder

      protected CapabilityReferenceRecorder getReferenceRecorder()
      Overrides:
      getReferenceRecorder in class AttributeDefinition
    • hasCapabilityRequirements

      public boolean hasCapabilityRequirements()
      Description copied from class: AttributeDefinition
      Based on the given attribute value, tell if attribute has any capability requirements. If this definition is for an attribute whose value is or contains a reference to the name of some capability, this method will return true otherwise false.

      This is a no-op in this base class. Subclasses that support attribute types that can represent capability references should override this method.

      Overrides:
      hasCapabilityRequirements in class AttributeDefinition
      Returns:
      true if this definition is for an attribute whose value is or contains a reference to the name of some capability
    • addValueTypeDescription

      protected void addValueTypeDescription(org.jboss.dmr.ModelNode node, ResourceBundle bundle)
      Specified by:
      addValueTypeDescription in class ListAttributeDefinition
    • addValueTypeDescription

      protected void addValueTypeDescription(org.jboss.dmr.ModelNode node, String prefix, ResourceBundle bundle)
    • addAttributeValueTypeDescription

      protected void addAttributeValueTypeDescription(org.jboss.dmr.ModelNode node, ResourceDescriptionResolver resolver, Locale locale, ResourceBundle bundle)
      Specified by:
      addAttributeValueTypeDescription in class ListAttributeDefinition
    • addOperationParameterValueTypeDescription

      protected void addOperationParameterValueTypeDescription(org.jboss.dmr.ModelNode node, String operationName, ResourceDescriptionResolver resolver, Locale locale, ResourceBundle bundle)
      Specified by:
      addOperationParameterValueTypeDescription in class ListAttributeDefinition
    • convertParameterElementExpressions

      protected org.jboss.dmr.ModelNode convertParameterElementExpressions(org.jboss.dmr.ModelNode parameterElement)
      Overrides the superclass to check that expressions are supported yet the valueType passed to the constructor is one of the complex DMR types. If it is, an IllegalStateException is thrown, as this implementation cannot properly handle such a combination. Examine the given element of a parameter list for any expression syntax, converting the relevant node to ModelType.EXPRESSION if such is supported. This implementation will only convert elements of ModelType.STRING. Subclasses that need to handle complex elements should override this method.
      Overrides:
      convertParameterElementExpressions in class ListAttributeDefinition
      Parameters:
      parameterElement - the node to examine. Will not be null
      Returns:
      the parameter element with expressions converted, or the original parameter if no conversion was performed Cannot return null
      Throws:
      IllegalStateException - if expressions are supported, but the valueType is complex