org.glassfish.gmbal.generic
Interface FacetAccessor

All Known Implementing Classes:
FacetAccessorImpl, MBeanImpl

public interface FacetAccessor

Interface to access facets of an object. A facet is an instance of a particular class. It may be implemented in a variety of ways, including inheritance, delegation, or dynamic construction on demand.

Author:
ken

Method Summary
<T> void
addFacet(T obj)
          Add a facet to the object.
<T> T
facet(Class<T> cls, boolean debug)
          Access the Facet of Class T from the object.
 Collection<Object> facets()
          Return a list of all facets on this object.
 Object get(Field field, boolean debug)
          Fetch the value of the field from whichever facet contains the field.
 Object invoke(Method method, boolean debug, Object... args)
          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 set(Field field, Object value, boolean debug)
           
 

Method Detail

facet

<T> T facet(Class<T> cls,
            boolean debug)
Access the Facet of Class T from the object.

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.

addFacet

<T> void addFacet(T obj)
Add a facet to the object. The type T must not already be available as a facet.

Type Parameters:
T -
Parameters:
obj -

removeFacet

void removeFacet(Class<?> cls)
Remove the facet (if any) of the given type.

Parameters:
cls - The class of the facet to remove.

facets

Collection<Object> facets()
Return a list of all facets on this object.

Returns:
Collection of all facets.

invoke

Object invoke(Method method,
              boolean debug,
              Object... args)
Invoke method on the appropriate facet of this object, that is, on the facet corresponding to method.getDeclaringClass.

Parameters:
method - The method to invoke.
args - Arguments to the method.
Returns:
restult of the invoke call.

get

Object get(Field field,
           boolean debug)
Fetch the value of the field from whichever facet contains the field. Read-only because that's all that the intended application needs.

Parameters:
field - The field to access
debug - True if debugging trace output is desired
Returns:
The value of the field

set

void set(Field field,
         Object value,
         boolean debug)


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.