Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.objectweb.jonathan.libs.kernel.JComponent
Field Summary | |
protected int |
|
protected Element |
|
protected Class |
|
protected Object |
|
Constructor Summary | |
| |
| |
| |
| |
|
Method Summary | |
protected Component | |
Component |
|
Component |
|
Element |
|
Object | |
int |
|
Element |
|
Class |
|
Object |
|
Object | |
Component | |
protected void |
|
Element |
|
String |
|
protected int int_value
the integer value
protected Class type
the type
protected Object value
the object reference value
public JComponent()
Constructs a JComponent.
public JComponent(Class _type, Object _value)
public JComponent(Class _type, Object _value, int _int_value)
public JComponent(Class _type, int _int_value)
public Component fork()
"Forks" a copy of the target component. The returned component is a copy of the target component, sharing the same reference, but *NOT* referred to by this reference. For basic components, this operation simply duplicates the component structure, but the value is still shared. In the configuration framework, components contain a specification of their value (in the form of an assemblage, atom, alias... description). The fork() method is used to duplicate the specification, but not the value. It may thus be used to obtain several instances of a component, using getValue() on the returned component. When the target component is a context, the returned component is a new context, roughly containing the forked versions of the target context's components. If the target context contains an alias, and if the target T of this alias is in the scope of the context, then the target of the forked alias is a forked instance of T. But if the target is outside the scope of the context, then the target of the forked alias is T itself. The context thus defines a set of components that will be actually duplicated, all links outside the context being preserved. The same rule applies for assemblages, and other "container" components. For instance, consider an assemblage 'A' made of factory 'F' and configuration 'C', 'C' containing an atom 'At', an alias 'In' to At, and an alias 'Out' to a component 'K' outside 'A'. Then the forked version of 'A' is a new assemblage made of a copy of 'F' and a new configuration containing a copy 'At2' of 'At', an alias 'In2' to 'At2', and an alias 'Out2' to 'K'. Aliases are treated specifically. Calling the fork() method on an alias is like calling the same method on its target.
- Returns:
- a forked instance of the target component.
public final Component getComponent(Name _name)
Returns the component contained in the element registered in the target component under the namename
. A call togetComponent(name)
is equivalent toif the provided name actually corresponds to an element. If it is not the case, null is returned.
getElement(name)
.getComponent()
- Specified by:
- getComponent in interface Component
- Parameters:
- Returns:
- the corresponding component, or null.
public Element getElement(Name name)
Returns the element in the target component identified byname
, null if no element exists under namename
.
- Specified by:
- getElement in interface Component
- Parameters:
name
- the name of the element to be retrieved;
- Returns:
- the corresponding element, if any; null otherwise.
public Object getFactoryValue() throws JonathanException
- Specified by:
- getFactoryValue in interface Component
public int getIntValue()
Returns the value of the target component, if its class is an integer class. If the target component has an object reference type, Integer.MAX_VALUE is returned.
- Specified by:
- getIntValue in interface Component
- Returns:
- the value of the target component.
public Element getReference()
Returns a distinguished element referencing the target component, if any, null otherwise. Implementations are not required to keep information about a given containing element. It is always legal to return null.
- Specified by:
- getReference in interface Component
- Returns:
- an element containing the target component, if any, null otherwise.
public Class getType()
Returns the type of the target component, as a Class.
- Returns:
- the type of the target component, as a Class.
public Object getValue()
Returns the value of the target component, if its type is an object reference type. If the target component is of an integral type,NO_VALUE
} is returned.
- Returns:
- the value of the target component.
public final Object getValue(Name _name)
Returns the value of the element registered in the target context under the namename
. A call togetValue(name)
is equivalent toif the provided name actually corresponds to an element. If it is not the case,
getElement(name)
.getValue()
is returned.
NO_VALUE
- Parameters:
- Returns:
- the corresponding value, or
.
NO_VALUE
protected void reset()
public Element setReference(Element _reference)
Sets an element containing the target component. The provided element should already be initialized as a container of the component. The returned element is the former container, if any. This method MUST be called when a component is referred to by an element.
- Specified by:
- setReference in interface Component
- Parameters:
- Returns:
- the former element referencing the target component, if any, null otherwise.
public String toString()