Interface AttributeBuilder

All Known Implementing Classes:
DefaultAttributeBuilder

public interface AttributeBuilder
AttributeBuilder is responsible for creating and indexing Attributes. For faster access to Attribute value, each Attribute has assigned index. AttributeBuilder is responsible to assign each Attribute unique index.
Author:
Alexey Stashok
See Also:
  • Field Details

    • DEFAULT_ATTRIBUTE_BUILDER

      static final AttributeBuilder DEFAULT_ATTRIBUTE_BUILDER

      The default AttributeBuilder implementation used by all created builder instances.

      The default may be changed by setting the system property org.glassfish.grizzly.DEFAULT_ATTRIBUTE_BUILDER with the fully qualified name of the class that implements the AttributeBuilder interface. Note that this class must be public and have a public no-arg constructor.

  • Method Details

    • createAttribute

      <T> Attribute<T> createAttribute(String name)
      Create Attribute with name
      Type Parameters:
      T - Type of attribute value
      Parameters:
      name - attribute name
      Returns:
      Attribute
    • createAttribute

      <T> Attribute<T> createAttribute(String name, T defaultValue)
      Create Attribute with name and default value
      Type Parameters:
      T - Type of attribute value
      Parameters:
      name - attribute name
      defaultValue - attribute's default value
      Returns:
      Attribute
    • createAttribute

      <T> Attribute<T> createAttribute(String name, Supplier<T> initializer)
      Create Attribute with name and initializer, which will be called, if Attribute's value is null on a AttributedObject
      Type Parameters:
      T - Type of attribute value
      Parameters:
      name - attribute name
      initializer - Supplier, which will be called, if Attribute's value is null on a AttributedObject
      Returns:
      Attribute
    • createSafeAttributeHolder

      AttributeHolder createSafeAttributeHolder()
      Creates and returns new thread-safe AttributeHolder
      Returns:
      thread-safe AttributeHolder
    • createUnsafeAttributeHolder

      AttributeHolder createUnsafeAttributeHolder()
      Creates and returns new non thread-safe AttributeHolder
      Returns:
      non thread-safe AttributeHolder