Top Fields Constructors Methods
org.glassfish.pfl.basic.facet

public Class FacetAccessorImpl

extends Object
implements FacetAccessor
Class Inheritance
All Implemented Interfaces
org.glassfish.pfl.basic.facet.FacetAccessor
Imports
java.lang.reflect.Field, .InvocationTargetException, .Method, java.security.AccessController, .PrivilegedAction, java.util.ArrayList, .Collection, .HashMap, .Map, org.glassfish.pfl.basic.algorithm.ClassAnalyzer, org.glassfish.pfl.basic.contain.Holder, org.glassfish.pfl.basic.func.UnaryPredicate

Author
ken

Field Summary

Modifier and TypeField and Description
private Object
private Map<Class<?>, Object>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public <T> void
addFacet(final T obj)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.addFacet.

Add a facet to the object.

public <T> T
facet(Class<T> cls)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.facet.

Access the Facet of Class T from the object.

public Collection<Object>
facets()

Implements org.glassfish.pfl.basic.facet.FacetAccessor.facets.

Return a list of all facets on this object.

public Object
get(Field field)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.get.

Fetch the value of the field from whichever facet contains the field.

public Object
invoke(final Method method, final Object... args)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.invoke.

Invoke method on the appropriate facet of this object, that is, on the facet corresponding to method.getDeclaringClass.

public void
removeFacet(Class<?> cls)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.removeFacet.

Remove the facet (if any) of the given type.

public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

delegateback to summary
private Object delegate
facetMapback to summary
private Map<Class<?>, Object> facetMap

Constructor Detail

FacetAccessorImplback to summary
public FacetAccessorImpl(Object delegate)

Method Detail

addFacetback to summary
public <T> void addFacet(final T obj)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.addFacet.

Doc from org.glassfish.pfl.basic.facet.FacetAccessor.addFacet.

Add a facet to the object. The type T must not already be available as a facet.

Annotations
@Override
facetback to summary
public <T> T facet(Class<T> cls)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.facet.

Doc from org.glassfish.pfl.basic.facet.FacetAccessor.facet.

Access the Facet of Class T from the object.

Annotations
@Override
facetsback to summary
public Collection<Object> facets()

Implements org.glassfish.pfl.basic.facet.FacetAccessor.facets.

Doc from org.glassfish.pfl.basic.facet.FacetAccessor.facets.

Return a list of all facets on this object.

Annotations
@Override
getback to summary
public Object get(Field field)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.get.

Doc from org.glassfish.pfl.basic.facet.FacetAccessor.get.

Fetch the value of the field from whichever facet contains the field. Read-only because that's all that the intended application needs.

Annotations
@Override
invokeback to summary
public Object invoke(final Method method, final Object... args)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.invoke.

Doc from org.glassfish.pfl.basic.facet.FacetAccessor.invoke.

Invoke method on the appropriate facet of this object, that is, on the facet corresponding to method.getDeclaringClass.

Annotations
@Override
removeFacetback to summary
public void removeFacet(Class<?> cls)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.removeFacet.

Doc from org.glassfish.pfl.basic.facet.FacetAccessor.removeFacet.

Remove the facet (if any) of the given type.

Annotations
@Override
setback to summary
public void set(Field field, Object value)

Implements org.glassfish.pfl.basic.facet.FacetAccessor.set.

Annotations
@Override