Package org.eclipse.jetty.util
Class Attributes.Synthetic
java.lang.Object
org.eclipse.jetty.util.Attributes.Wrapper
org.eclipse.jetty.util.Attributes.Synthetic
- All Implemented Interfaces:
Attributes
- Enclosing interface:
- Attributes
An abstract implementation of
Attributes.Wrapper
that provides a mechanism
for synthetic attributes that can be modified or deleted. A synthetic attribute
is one whose value is not stored in the normal map backing the Attributes
instance,
but is instead calculated as needed. Modifications to synthetic attributes are maintained
in a separate layer and no modifications are made to the backing Attributes
.
Non-synthetic attributes are handled normally by the backing Attributes
Uses of this class must provide implementations for
getSyntheticNameSet()
amd getSyntheticAttribute(String)
.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Attributes
Attributes.Layer, Attributes.Lazy, Attributes.Mapped, Attributes.Synthetic, Attributes.Wrapper
-
Field Summary
Fields inherited from interface org.eclipse.jetty.util.Attributes
NULL
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear all attribute namesgetAttribute
(String name) Get an attributeGet the immutable set of attribute names.protected abstract Object
getSyntheticAttribute
(String name) Get the value of a specific synthetic attribute.Get the list of known synthetic attribute names, including those that currently have a null value.removeAttribute
(String name) Remove an attributesetAttribute
(String name, Object value) Set an attributeMethods inherited from class org.eclipse.jetty.util.Attributes.Wrapper
equals, getWrapped, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.Attributes
asAttributeMap
-
Field Details
-
REMOVED
-
-
Constructor Details
-
Synthetic
-
-
Method Details
-
getSyntheticAttribute
Get the value of a specific synthetic attribute.- Parameters:
name
- The name of the attribute- Returns:
- The value for the attribute, which may be computed on request, or
null
-
getSyntheticNameSet
Get the list of known synthetic attribute names, including those that currently have a null value.- Returns:
- A
Set
of known synthetic attributes names.
-
getAttribute
Description copied from interface:Attributes
Get an attribute- Specified by:
getAttribute
in interfaceAttributes
- Overrides:
getAttribute
in classAttributes.Wrapper
- Parameters:
name
- the attribute to get- Returns:
- the value of the attribute, or
null
if no such attribute exists
-
setAttribute
Description copied from interface:Attributes
Set an attribute- Specified by:
setAttribute
in interfaceAttributes
- Overrides:
setAttribute
in classAttributes.Wrapper
- Parameters:
name
- the attribute to setvalue
- the value to set. A null value is equivalent to removing the attribute.- Returns:
- the previous value of the attribute if set, else
null
-
removeAttribute
Description copied from interface:Attributes
Remove an attribute- Specified by:
removeAttribute
in interfaceAttributes
- Overrides:
removeAttribute
in classAttributes.Wrapper
- Parameters:
name
- the attribute to remove- Returns:
- the value of the attribute if removed, else
null
-
getAttributeNameSet
Description copied from interface:Attributes
Get the immutable set of attribute names.- Specified by:
getAttributeNameSet
in interfaceAttributes
- Overrides:
getAttributeNameSet
in classAttributes.Wrapper
- Returns:
- Set of attribute names, or an empty set if there are no attributes.
-
clearAttributes
public void clearAttributes()Description copied from interface:Attributes
Clear all attribute names- Specified by:
clearAttributes
in interfaceAttributes
- Overrides:
clearAttributes
in classAttributes.Wrapper
-