Class CustomAttribute

java.lang.Object
com.vaadin.flow.dom.impl.CustomAttribute
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ClassAttributeHandler, StyleAttributeHandler

public abstract class CustomAttribute extends Object implements Serializable
Callback for handling attributes with special semantics. This is used for e.g. class which is assembled from a separate list of tokens instead of being stored as a regular attribute string.

For internal use only. May be renamed or removed in a future release.

Since:
1.0
See Also:
  • Constructor Details

    • CustomAttribute

      public CustomAttribute()
  • Method Details

    • get

      public static Optional<CustomAttribute> get(String name)
      Gets the custom attribute with the provided name, if present.
      Parameters:
      name - the name of the attribute
      Returns:
      and optional custom attribute, or an empty optional if there is no attribute with the given name
    • getNames

      public static Set<String> getNames()
      Gets an unmodifiable set of custom attribute names.
      Returns:
      a set of attribute names
    • hasAttribute

      public abstract boolean hasAttribute(Element element)
      Checks what Element.hasAttribute(String) should return for this attribute.
      Parameters:
      element - the element to check, not null
      Returns:
      true if the element has a value for this attribute, otherwise false
    • getAttribute

      public abstract String getAttribute(Element element)
      Gets the value that should be returned by Element.getAttribute(String) for this attribute.
      Parameters:
      element - the element to check, not null
      Returns:
      the attribute value
    • setAttribute

      public abstract void setAttribute(Element element, String value)
      Sets the value when Element.setAttribute(String, String) is called for this attribute.
      Parameters:
      element - the element for which to set the value, not null
      value - the new attribute value, not null
    • removeAttribute

      public abstract void removeAttribute(Element element)
      Removes the attribute when Element.removeAttribute(String) is called for this attribute.
      Parameters:
      element - the element for which to remove the attribute, not null