org.openide.nodes
Class Node.Property

java.lang.Object
  |
  +--java.beans.FeatureDescriptor
        |
        +--org.openide.nodes.Node.Property
Direct Known Subclasses:
Node.IndexedProperty, PropertySupport, PropertySupport.Reflection
Enclosing class:
Node

public abstract static class Node.Property
extends FeatureDescriptor

Description of a Bean property on a node, and operations on it.

You may associate context help with this object, if desired, by setting a custom property with the name helpID and value of type String giving a help ID. Normally this is unnecessary as help for the whole Node will be used by default.


Constructor Summary
Node.Property(Class valueType)
          Constructor.
 
Method Summary
abstract  boolean canRead()
          Test whether the property is readable.
abstract  boolean canWrite()
          Test whether the property is writable.
 boolean equals(Object property)
           
 PropertyEditor getPropertyEditor()
          Get a property editor for this property.
abstract  Object getValue()
          Get the value.
 Class getValueType()
          Get the value type.
 int hashCode()
           
 void restoreDefaultValue()
          Restore this property to its default value, if supported.
abstract  void setValue(Object val)
          Set the value.
 boolean supportsDefaultValue()
          Test whether the property had a default value.
 
Methods inherited from class java.beans.FeatureDescriptor
attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Node.Property

public Node.Property(Class valueType)
Constructor.
Parameters:
valueType - type of the property
Method Detail

getValueType

public Class getValueType()
Get the value type. This is the representation class of the property. Remember that e.g. Boolean.class means that values are Boolean objects; to specify the primitive type, use e.g. Boolean.TYPE. In the latter case, getValue() and setValue(java.lang.Object) will still operate on the wrapper object.
Returns:
the type

canRead

public abstract boolean canRead()
Test whether the property is readable.
Returns:
true if it is

getValue

public abstract Object getValue()
                         throws IllegalAccessException,
                                InvocationTargetException
Get the value.
Returns:
the value of the property
Throws:
IllegalAccessException - cannot access the called method
InvocationTargetException - an exception during invocation

canWrite

public abstract boolean canWrite()
Test whether the property is writable.
Returns:
true if the read of the value is supported

setValue

public abstract void setValue(Object val)
                       throws IllegalAccessException,
                              IllegalArgumentException,
                              InvocationTargetException
Set the value.
Parameters:
val - the new value of the property
Throws:
IllegalAccessException - cannot access the called method
IllegalArgumentException - wrong argument
InvocationTargetException - an exception during invocation

supportsDefaultValue

public boolean supportsDefaultValue()
Test whether the property had a default value.
Returns:
true if it does (false by default)

restoreDefaultValue

public void restoreDefaultValue()
                         throws IllegalAccessException,
                                InvocationTargetException
Restore this property to its default value, if supported. In the default implementation, does nothing. Typically you would just call e.g. setValue(default). Note that it is not permitted for this call to throw IllegalArgumentException, though the other two exceptions from setValue(java.lang.Object) may be passed through.
Throws:
IllegalAccessException - cannot access the called method
InvocationTargetException - an exception during invocation

getPropertyEditor

public PropertyEditor getPropertyEditor()
Get a property editor for this property. The default implementation tries to use PropertyEditorManager.
Returns:
the property editor, or null if there is no editor

equals

public boolean equals(Object property)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.