uk.org.ogsadai.common.properties
Class DynamicProperty

java.lang.Object
  |
  +--java.util.Observable
        |
        +--uk.org.ogsadai.common.properties.Property
              |
              +--uk.org.ogsadai.common.properties.DynamicProperty

public class DynamicProperty
extends Property

A property consisting of a name and a value - the value is not stored within this class. Rather requests for the value are forwarded to the class via a callback.

Author:
The OGSA-DAI Project Team

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
           
protected  PropertyCallback mPropertyCallback
          Object to callback to for the value of the property
 
Fields inherited from class uk.org.ogsadai.common.properties.Property
mName, mSecurityContext
 
Fields inherited from class java.util.Observable
 
Constructor Summary
DynamicProperty()
           
 
Method Summary
static DynamicProperty createDynamicProperty(javax.xml.namespace.QName name, java.lang.String callback)
          Creates a dynamic resource property.
 PropertyCallback getCallback()
          Return the property callback object.
 java.lang.Object getValue()
          Return the property value.
 void setCallback(PropertyCallback callback)
          Set the property callback object.
 void setSecurityContext(SecurityContext sec)
          Set the security context for authorising property accessing and updating.
 void setValue(java.lang.Object object)
          Set the property value.
 
Methods inherited from class uk.org.ogsadai.common.properties.Property
getName, setName
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT_NOTICE

private static final java.lang.String COPYRIGHT_NOTICE
See Also:
Constant Field Values

mPropertyCallback

protected PropertyCallback mPropertyCallback
Object to callback to for the value of the property

Constructor Detail

DynamicProperty

public DynamicProperty()
Method Detail

getCallback

public PropertyCallback getCallback()
Return the property callback object.

Returns:
the callback object.

setCallback

public void setCallback(PropertyCallback callback)
Set the property callback object.

Parameters:
callback - The callback object.

getValue

public java.lang.Object getValue()
                          throws PropertyValueException
Description copied from class: Property
Return the property value.

Specified by:
getValue in class Property
Returns:
the value for the property or null if it has not been set.
Throws:
PropertyValueException - if an error occurs when obtaining the value.

setValue

public void setValue(java.lang.Object object)
              throws PropertyValueException
Description copied from class: Property
Set the property value.

Specified by:
setValue in class Property
Parameters:
object - Property value.
Throws:
PropertyValueException - if an error occurs when setting the value.

setSecurityContext

public void setSecurityContext(SecurityContext sec)
Description copied from class: Property
Set the security context for authorising property accessing and updating.

Overrides:
setSecurityContext in class Property
Parameters:
sec - Security context.

createDynamicProperty

public static DynamicProperty createDynamicProperty(javax.xml.namespace.QName name,
                                                    java.lang.String callback)
                                             throws DynamicPropertyCreationException
Creates a dynamic resource property.

Parameters:
name - Qualified name of the resource property.
callback - Name of callback class. This class must implement the PropertyCallback class.
Returns:
dynamic resource property.
Throws:
DynamicPropertyCreationException - if the callback class cannot be loaded or found, an instance of this class cannot be created or if the class does not implement the PropertyCallback interface.