fr.esrf.tangoatk.core
Class DeviceProperty

java.lang.Object
  extended by fr.esrf.tangoatk.core.DeviceProperty

public class DeviceProperty
extends java.lang.Object

DeviceProperty is a class which is responsible for holding information about a given property of a given Device. DeviceProperties have the following characteristics

Each time a property is stored, a presentation propertychange event is fired, so that the listeners of this property can update its values.


Field Summary
protected  boolean editable
           
protected  java.lang.String name
           
protected  java.lang.String[] oldValue
           
protected  Device parent
           
protected  java.beans.PropertyChangeSupport propChanges
           
protected  boolean specified
           
protected  java.lang.String[] value
           
 
Constructor Summary
DeviceProperty()
          Creates a new Property instance, with empty name ("") and value ([]).
DeviceProperty(Device theParent, java.lang.String name, java.lang.String[] value)
          Creates a new Property instance.
DeviceProperty(Device theParent, java.lang.String name, java.lang.String[] value, boolean isEditable)
          Creates a new Property instance.
 
Method Summary
 void addPresentationListener(java.beans.PropertyChangeListener l)
          addPresentationListener add a presentation-listener for this property
 java.lang.String getName()
          getName returns the name of the property
 java.lang.String getStringValue()
          getStringValue returns the value of the property as a String.
 java.lang.String[] getValue()
          getValue return the value of the property
 java.lang.String getVersion()
           
 boolean isEditable()
          isEditable true if this property is editable, else false
 boolean isSpecified()
          isSpecified returns true if this property's value is specified, false if not.
 void refresh()
          Gets the value from database.
 void removePresentationListener(java.beans.PropertyChangeListener l)
          removePresentationListener remove a presentation-listener for this property
 void setName(java.lang.String s)
          setName sets the name of the property
 void setSpecified(boolean b)
          setSpecified lets you set the specified property of this property.
 void setValue(java.lang.String s)
          setValue sets the value of the property, transforming the String into a String Array, using carriage return as separator This will not affect the database.
 void setValue(java.lang.String[] o)
          setValue sets the value of the property This will not affect the database.
 void store()
          store asks the Device of this property to store the property.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

value

protected java.lang.String[] value

oldValue

protected java.lang.String[] oldValue

editable

protected boolean editable

parent

protected Device parent

specified

protected boolean specified

propChanges

protected java.beans.PropertyChangeSupport propChanges
Constructor Detail

DeviceProperty

public DeviceProperty()
Creates a new Property instance, with empty name ("") and value ([]). This property is editable but has no device associated.


DeviceProperty

public DeviceProperty(Device theParent,
                      java.lang.String name,
                      java.lang.String[] value)
Creates a new Property instance. This property is editable.

Parameters:
theParent - the IDevice this property belongs to
name - the name of this property
value - the value of this property, specified as a String[]

DeviceProperty

public DeviceProperty(Device theParent,
                      java.lang.String name,
                      java.lang.String[] value,
                      boolean isEditable)
Creates a new Property instance.

Parameters:
theParent - the IDevice this property belongs to
name - the name of this property
value - the value of this property, specified as a String[]
isEditable - true if this property is editable
Method Detail

addPresentationListener

public void addPresentationListener(java.beans.PropertyChangeListener l)
addPresentationListener add a presentation-listener for this property

Parameters:
l - a PropertyChangeListener value

removePresentationListener

public void removePresentationListener(java.beans.PropertyChangeListener l)
removePresentationListener remove a presentation-listener for this property

Parameters:
l - a PropertyChangeListener value

refresh

public void refresh()
Gets the value from database. If successfull, this method also results in a propertyChange event for the presentation property.


isEditable

public boolean isEditable()
isEditable true if this property is editable, else false


setSpecified

public void setSpecified(boolean b)
setSpecified lets you set the specified property of this property. Setting it to true means that the value of this property is meaningfull, false means it's garbage

Parameters:
b - a boolean value

isSpecified

public boolean isSpecified()
isSpecified returns true if this property's value is specified, false if not.

Returns:
a boolean value

setName

public void setName(java.lang.String s)
setName sets the name of the property

Parameters:
s - a String value

setValue

public void setValue(java.lang.String[] o)
setValue sets the value of the property This will not affect the database. To apply the modification in database (and in the device), you have to use the store() method after.

Parameters:
o - a String[] containing the value

setValue

public void setValue(java.lang.String s)
setValue sets the value of the property, transforming the String into a String Array, using carriage return as separator This will not affect the database. To apply the modification in database (and in the device), you have to use the store() method after.

Parameters:
o - a String[] containing the value

getName

public java.lang.String getName()
getName returns the name of the property

Returns:
a String value

getValue

public java.lang.String[] getValue()
getValue return the value of the property

Returns:
a String[] value

getStringValue

public java.lang.String getStringValue()
getStringValue returns the value of the property as a String. The separator used is "\n" (new line).

Returns:
a String value

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

store

public void store()
store asks the Device of this property to store the property. This method also results in a propertyChange event for the presentation property.


getVersion

public java.lang.String getVersion()