Class Attribute<T>

  • Type Parameters:
    T - The attribute value type
    Direct Known Subclasses:
    AriaValueAttribute, PrimitiveValueAttribute

    public abstract class Attribute<T>
    extends java.lang.Object

    Class representing ARIA state/property attribute. Contains methods for setting, getting, removing ARIA attributes for an HTML Element.

    For more details about ARIA states and properties check the W3C ARIA documentation Supported States and Properties .

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String defaultValue  
      protected java.lang.String name  
    • Constructor Summary

      Constructors 
      Constructor Description
      Attribute​(java.lang.String name)
      Constructs a state/property ARIA attribute with name name and null default value.
      Attribute​(java.lang.String name, java.lang.String defaultValue)
      Constructs a state/property ARIA attribute with name name and defaultValue.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String get​(Element element)
      Gets the HTML attribute value for the attribute with name name for element element
      java.lang.String getName()
      Gets the property/state name
      protected abstract java.lang.String getSingleValue​(T value)
      Gets the string representation of value to be set as an attribute value to an HTML element.
      void remove​(Element element)
      Removes the state/property attribute for element element.
      void set​(Element element, T... values)
      Sets the state/property value for the HTML element element.
      void setDefault​(Element element)
      Sets the state/property value to the defaultValue if not null.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • name

        protected final java.lang.String name
      • defaultValue

        protected java.lang.String defaultValue
    • Constructor Detail

      • Attribute

        public Attribute​(java.lang.String name,
                         java.lang.String defaultValue)
        Constructs a state/property ARIA attribute with name name and defaultValue.
        Parameters:
        name - State/Property name
        defaultValue - Default values
      • Attribute

        public Attribute​(java.lang.String name)
        Constructs a state/property ARIA attribute with name name and null default value.
        Parameters:
        name - State/Property name
    • Method Detail

      • get

        public java.lang.String get​(Element element)
        Gets the HTML attribute value for the attribute with name name for element element
        Parameters:
        element - HTML element
        Returns:
        The attribute value for element
      • getName

        public java.lang.String getName()
        Gets the property/state name
        Returns:
        The attribute name
      • remove

        public void remove​(Element element)
        Removes the state/property attribute for element element.
        Parameters:
        element - HTM element
      • set

        public void set​(Element element,
                        T... values)
        Sets the state/property value for the HTML element element.
        Parameters:
        element - HTML element
        values - Attribute value
      • setDefault

        public void setDefault​(Element element)
        Sets the state/property value to the defaultValue if not null. If a list of default values is set, every default value is converted to string and the string values are concatenated in a string token list. There is an assertion checking whether the default is null. Note that the asserts are enabled during development and testing but they will be stripped in production mode.
        Parameters:
        element - HTML element
      • getSingleValue

        protected abstract java.lang.String getSingleValue​(T value)
        Gets the string representation of value to be set as an attribute value to an HTML element.
        Parameters:
        value - The item to be stringified
        Returns:
        the stringified representation of value