|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| ComponentClass | TODO: Javadoc |
| DynamicBound | TODO: Javadoc |
| DynamicComponent | TODO: Javadoc |
| DynamicOperation | TODO: Javadoc |
| DynamicProperty<T> | TODO: Javadoc |
| DynamicPropertyEvent<T,P extends DynamicProperty<T>> | TODO: Javadoc |
| Mirror | TODO: Javadoc All implementations MUST have a constructor which takes no arguments. |
| ReflectedBindable<DB extends DynamicBound> | TODO: Javadoc |
| ReflectedComponent | TODO: Javadoc |
| ReflectedOperation | TODO: Javadoc |
| ReflectedParameter<T> | TODO: Javadoc |
| ReflectedProperty | TODO: Javadoc |
| Enum Summary | |
|---|---|
| DynamicBound.GUIType | TODO: Javadoc |
| OperationType | TODO: Javadoc |
| PropertyMode | TODO: Javadoc |
| PropertyUse | TODO: Javadoc |
| Annotation Types Summary | |
|---|---|
| StaticComponent | TODO: Javadoc |
| StaticGetMethod | TODO: Javadoc Indicates that the annotated method is a get method for an option property. |
| StaticOperation | TODO: Javadoc |
| StaticParameter | TODO: Javadoc |
| StaticProperty | TODO: Javadoc |
| StaticPropertyMethod | TODO: Javadoc
Indicates that a method will return a DynamicProperty
representing the named property. |
| StaticSetMethod | TODO: Javadoc Indicates that the annotated method is a set method for an option property. |
The basis of the RCF component framework, on top of which all the bundling and application level indirection is built.
java.lang
and java.lang.reflect.
The framework can be used to get a
ReflectedComponent from a
Class through the ComponentHelpers#mirror(Class)
method. At the base an instance of Mirror
provides the actual translation. There is a base mirror for
StaticComponents:
Mirror.Caching which includes support for
caching these translations.
Once obtained a reflected component
can be bound to an instance to get a
dynamic component.
This can then be used to get
dynamic operations and
dynamic properties,
which can then manipulate the instance.
The framework can also be used to get a
dynamic component
directly from an instance using the
ComponentHelpers.mirror(Object) method.
An instance of a class which itself extends
DynamicComponent does not require the
framework for this step, as it directly supports this interface. The
instance can be cast DynamicComponent.
This means that an instance may provide support for dynamic addition and
removal of operations and properties. The component may also wish to
specify a custom mirror to
StaticComponent using the
StaticComponent.value() in order to
have the ReflectedComponent properly
reflect these or other changes.
StaticGetMethod and
StaticSetMethod are annotations for
property change methods. StaticProperty
is an annotation for an actual field, so that the property can be modified
through an instance of DynamicProperty.
StaticPropertyMethod is an annotation
for a method returning a DynamicProperty
for accessing a property; this allows a component to provide its own direct
implementation of DynamicProperty for
whatever reason. PropertyUse and
OperationType are just for
GUI generation and human consumption.
StaticOperation is an annotation for
a method which does something, i.e. performs some useful computation.
Parameters can be annotated using
StaticParameter to indicate their use.
PropertyUse and
OperationType is just for
GUI generation and human consumption.
StaticComponent is an annotation
indicating that an iterface or class is a component. Any class annotated
with StaticComponent, or inheriting such
an interface is a component class, and instance of such a class is a
component object or component instance. A component class is represented by
an instance of ReflectedComponent which
is generated by the Mirror specified by
the StaticComponent.value() attribute
in the lowest component in the class inheritance hierarchy. A component
object is represented by an instance of
DynamicComponent, which may in fact be
the component object itself. A component class directly implementing the
DynamicComponent interface is a
dynamic component.
ComponentHelpers.mirror(java.lang.Class)
will return a ReflectedComponent from a
component class. ComponentHelpers#mirror(java.lang.Object)
will return a DynamicComponent from a
component object. All calls to the above framework functions
must use the DynamicComponent
interface if it is supported by a component object.
DynamicComponent, may change its supported operations and properties.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||