Interface Attribute

All Superinterfaces:
Immutable<Attribute,MutableAttribute>
All Known Subinterfaces:
MutableAttribute
All Known Implementing Classes:
AttributeImpl, MutableAttributeImpl

public interface Attribute extends Immutable<Attribute,MutableAttribute>
  • Field Details

  • Method Details

    • getName

      String getName()
    • getValue

      String getValue()
    • getValueListDelimiter

      char getValueListDelimiter()
    • getValueNameDelimiter

      char getValueNameDelimiter()
    • isNonRendering

      boolean isNonRendering()
    • containsValue

      boolean containsValue(CharSequence value)
      See if the attribute contains the value (if attribute has list delimiter set) or is equal to the value if no list delimiter is set
      Parameters:
      value - name part of the attribute value list or the value if the attribute does not have a value list delimiter
      Returns:
      true if the attribute contains the valueName
    • replaceValue

      Attribute replaceValue(CharSequence value)
      Replace the complete value of this attribute by a new value
      Parameters:
      value - new value
      Returns:
      new attribute or same attribute if nothing changed or attribute is mutable
    • setValue

      Attribute setValue(CharSequence value)
      Add a new value or values depending on list and name delimiter settings and value content

      If the attribute does not have a list delimiter then its value will be set to the given value.

      If the attribute has a list delimiter but not name delimiter then value will be split by list delimiter and all values will be added to the attribute's value list. New ones added at the end, old ones left as is.

      If the attribute has a list delimiter and a name delimiter then value will be split by list delimiter and the name portion of each value will be used to find duplicates whose value will be replaced. New ones added at the end, old ones left where they are but with a new value.

      Parameters:
      value - value or list of values (if attribute has a list delimiter and name delimiter) to change
      Returns:
      new attribute or same attribute if nothing changed or attribute is mutable
    • removeValue

      Attribute removeValue(CharSequence value)
      Add a new value or values depending on list and name delimiter settings and value content.

      If the attribute does not have a list delimiter and its value is equal to the given value then its value is set to empty

      If the attribute has a list delimiter but not name delimiter then value will be split by list delimiter and any values in attribute's value list will be removed

      If the attribute has a list delimiter and a name delimiter then value will be split by list delimiter and only the name portion of each value will be used for removal from the attribute's value list

      Parameters:
      value - value or list of values (if attribute has a list delimiter and name delimiter) to remove
      Returns:
      new attribute or same attribute if nothing changed or attribute is mutable