Class AttributeImpl

    • Method Detail

      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface Attribute
      • getValue

        public java.lang.String getValue()
        Specified by:
        getValue in interface Attribute
      • indexOfValue

        public static int indexOfValue​(java.lang.CharSequence value,
                                       java.lang.CharSequence valueName,
                                       char valueListDelimiter,
                                       char valueNameDelimiter)
      • containsValue

        public boolean containsValue​(java.lang.CharSequence value)
        Description copied from interface: Attribute
        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
        Specified by:
        containsValue in interface Attribute
        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

        public Attribute replaceValue​(java.lang.CharSequence value)
        Description copied from interface: Attribute
        Replace the complete value of this attribute by a new value
        Specified by:
        replaceValue in interface Attribute
        Parameters:
        value - new value
        Returns:
        new attribute or same attribute if nothing changed or attribute is mutable
      • setValue

        public Attribute setValue​(java.lang.CharSequence value)
        Description copied from interface: Attribute
        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.

        Specified by:
        setValue in interface Attribute
        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

        public Attribute removeValue​(java.lang.CharSequence value)
        Description copied from interface: Attribute
        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

        Specified by:
        removeValue in interface Attribute
        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
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • of

        public static AttributeImpl of​(java.lang.CharSequence attrName)
      • of

        public static AttributeImpl of​(java.lang.CharSequence attrName,
                                       java.lang.CharSequence value)
      • of

        public static AttributeImpl of​(java.lang.CharSequence attrName,
                                       java.lang.CharSequence value,
                                       char valueListDelimiter)
      • of

        public static AttributeImpl of​(java.lang.CharSequence attrName,
                                       java.lang.CharSequence value,
                                       char valueListDelimiter,
                                       char valueNameDelimiter)