|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.felix.ipojo.util.Property
public class Property
Property class managing a managed value. This class managed the method invocation as well as field injection.
| Field Summary | |
|---|---|
private java.lang.String |
m_field
The field of the property. |
private Handler |
m_handler
The handler object to get the logger. |
private boolean |
m_invoked
Flag tracking is the method was already called for the current value. |
private InstanceManager |
m_manager
The instance manager. |
private Callback |
m_method
The setter method of the property. |
private java.lang.String |
m_name
The name of the property (field name if not set). |
private java.lang.Class |
m_type
The type of the property. |
private java.lang.Object |
m_value
The value of the property. |
static java.lang.Object |
NO_VALUE
Object used for an unvalued property. |
| Constructor Summary | |
|---|---|
Property(java.lang.String name,
java.lang.String field,
java.lang.String method,
java.lang.String value,
java.lang.String type,
InstanceManager manager,
Handler handler)
Creates a property. |
|
| Method Summary | |
|---|---|
private static java.lang.Class |
computeArrayType(java.lang.String type,
org.osgi.framework.BundleContext context)
Gets the Class object of a type array. |
static java.lang.Class |
computeType(java.lang.String type,
org.osgi.framework.BundleContext context)
Computes and returns the property type according to the given type name. |
static java.lang.Object |
create(java.lang.Class type,
java.lang.String strValue)
Creates an object of the given type with the given String value. |
static java.lang.Object |
createArrayObject(java.lang.Class interntype,
java.lang.String[] values)
Creates an array object containing the type component type from the String array 'values'. |
java.lang.String |
getField()
|
Handler |
getHandler()
Gets the handler managing the property. |
java.lang.String |
getMethod()
Gets the method name, null if no method. |
java.lang.String |
getName()
|
private static java.lang.Object |
getNoValue(java.lang.Class type)
Gets the NO VALUE Object. |
java.lang.String |
getType()
|
java.lang.Object |
getValue()
|
boolean |
hasField()
Checks if the property has a field. |
boolean |
hasMethod()
Checks if the property has a method callback. |
void |
invoke(java.lang.Object instance)
Invokes the setter method on the given pojo object. |
static boolean |
isAssignable(java.lang.Class type,
java.lang.Object value)
Checks if the given value is assignable to the given type. |
java.lang.Object |
onGet(java.lang.Object pojo,
java.lang.String fieldName,
java.lang.Object value)
A field value is required by the object 'pojo'. |
void |
onSet(java.lang.Object pojo,
java.lang.String fieldName,
java.lang.Object value)
The field 'field' receives a new value. |
void |
setValue(java.lang.Object value)
Sets the value of the property. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.Object NO_VALUE
private final java.lang.String m_name
private final java.lang.String m_field
private final Callback m_method
private java.lang.Object m_value
private boolean m_invoked
private final java.lang.Class m_type
private final Handler m_handler
private final InstanceManager m_manager
| Constructor Detail |
|---|
public Property(java.lang.String name,
java.lang.String field,
java.lang.String method,
java.lang.String value,
java.lang.String type,
InstanceManager manager,
Handler handler)
throws ConfigurationException
name - the name of the property (optional)field - the name of the fieldmethod - the method namevalue - the initial value of the property (optional)type - the the type of the propertymanager - the instance managerhandler - the handler object which manage this property.
ConfigurationException - if the property value cannot be set.| Method Detail |
|---|
public static java.lang.Class computeType(java.lang.String type,
org.osgi.framework.BundleContext context)
throws ConfigurationException
type - the the type namecontext - the bundle context (used to load classes)
ConfigurationException - if an error occurs when loading the type class for non-primitive types.
private static java.lang.Class computeArrayType(java.lang.String type,
org.osgi.framework.BundleContext context)
throws ConfigurationException
type - the string descriptor of the type (must end by [] )context - the bundle context (used to load classes)
ConfigurationException - if the class cannot be loadedpublic java.lang.String getName()
public java.lang.String getField()
public java.lang.String getType()
public java.lang.String getMethod()
null if no method.
public boolean hasMethod()
true if the property has a method.public boolean hasField()
true if the property has a field.public java.lang.Object getValue()
private static java.lang.Object getNoValue(java.lang.Class type)
type - the type of the value.
public void setValue(java.lang.Object value)
value - the new value.
public static boolean isAssignable(java.lang.Class type,
java.lang.Object value)
type - the class of the typevalue - the object to check
true if the object is assignable in the property of type 'type'.
public static java.lang.Object create(java.lang.Class type,
java.lang.String strValue)
throws ConfigurationException
type - the type of the returned objectstrValue - the String value.
ConfigurationException - if the object cannot be created.
public static java.lang.Object createArrayObject(java.lang.Class interntype,
java.lang.String[] values)
throws ConfigurationException
interntype - the internal type of the array.values - the String array
ConfigurationException - if the array cannot be created correctlypublic void invoke(java.lang.Object instance)
instance - the created object (could be null)org.apache.felix.ipojo.Handler#onCreation(java.lang.Object)
public java.lang.Object onGet(java.lang.Object pojo,
java.lang.String fieldName,
java.lang.Object value)
onGet in interface FieldInterceptorpojo - the POJO objectfieldName - the fieldvalue - the last value
FieldInterceptor.onGet(java.lang.Object, java.lang.String, java.lang.Object)
public void onSet(java.lang.Object pojo,
java.lang.String fieldName,
java.lang.Object value)
onSet in interface FieldInterceptorpojo - the pojofieldName - the field namevalue - the new valueFieldInterceptor.onSet(java.lang.Object, java.lang.String, java.lang.Object)public Handler getHandler()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||