- All Known Implementing Classes:
DefaultAttributeBuilder
public interface AttributeBuilder
AttributeBuilder is responsible for creating and indexing
Attribute
s. 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 Summary
FieldsModifier and TypeFieldDescriptionstatic final AttributeBuilder
The defaultAttributeBuilder
implementation used by all created builder instances. -
Method Summary
Modifier and TypeMethodDescription<T> Attribute<T>
createAttribute
(String name) Create Attribute with name<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<T> Attribute<T>
createAttribute
(String name, T defaultValue) Create Attribute with name and default valueCreates and returns new thread-safeAttributeHolder
Creates and returns new non thread-safeAttributeHolder
-
Field Details
-
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
Create Attribute with name- Type Parameters:
T
- Type of attribute value- Parameters:
name
- attribute name- Returns:
- Attribute
-
createAttribute
Create Attribute with name and default value- Type Parameters:
T
- Type of attribute value- Parameters:
name
- attribute namedefaultValue
- attribute's default value- Returns:
- Attribute
-
createAttribute
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 nameinitializer
-Supplier
, which will be called, if Attribute's value is null on a AttributedObject- Returns:
- Attribute
-
createSafeAttributeHolder
AttributeHolder createSafeAttributeHolder()Creates and returns new thread-safeAttributeHolder
- Returns:
- thread-safe
AttributeHolder
-
createUnsafeAttributeHolder
AttributeHolder createUnsafeAttributeHolder()Creates and returns new non thread-safeAttributeHolder
- Returns:
- non thread-safe
AttributeHolder
-