Package org.glassfish.pfl.basic.facet
Class FacetAccessorImpl
java.lang.Object
org.glassfish.pfl.basic.facet.FacetAccessorImpl
- All Implemented Interfaces:
FacetAccessor
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> void
addFacet
(T obj) Add a facet to the object.<T> T
Access the Facet of Class T from the object.facets()
Return a list of all facets on this object.Fetch the value of the field from whichever facet contains the field.Invoke method on the appropriate facet of this object, that is, on the facet corresponding to method.getDeclaringClass.void
removeFacet
(Class<?> cls) Remove the facet (if any) of the given type.void
-
Field Details
-
delegate
-
facetMap
-
-
Constructor Details
-
FacetAccessorImpl
-
-
Method Details
-
facet
Description copied from interface:FacetAccessor
Access the Facet of Class T from the object.- Specified by:
facet
in interfaceFacetAccessor
- Type Parameters:
T
- The Type (as a Class) of the Facet.- Parameters:
cls
- The class of the facet.- Returns:
- Instance of cls for this facet. Null if no such facet is available.
-
facets
Description copied from interface:FacetAccessor
Return a list of all facets on this object.- Specified by:
facets
in interfaceFacetAccessor
- Returns:
- Collection of all facets.
-
addFacet
public <T> void addFacet(T obj) Description copied from interface:FacetAccessor
Add a facet to the object. The type T must not already be available as a facet.- Specified by:
addFacet
in interfaceFacetAccessor
- Type Parameters:
T
-- Parameters:
obj
-
-
invoke
Description copied from interface:FacetAccessor
Invoke method on the appropriate facet of this object, that is, on the facet corresponding to method.getDeclaringClass.- Specified by:
invoke
in interfaceFacetAccessor
- Parameters:
method
- The method to invoke.args
- Arguments to the method.- Returns:
- restult of the invoke call.
-
get
Description copied from interface:FacetAccessor
Fetch the value of the field from whichever facet contains the field. Read-only because that's all that the intended application needs.- Specified by:
get
in interfaceFacetAccessor
- Parameters:
field
- The field to access- Returns:
- The value of the field
-
set
- Specified by:
set
in interfaceFacetAccessor
-
removeFacet
Description copied from interface:FacetAccessor
Remove the facet (if any) of the given type.- Specified by:
removeFacet
in interfaceFacetAccessor
- Parameters:
cls
- The class of the facet to remove.
-