1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
package org.tigris.swidgets;
/**
* A property that can be displayed and edited within a PropertyTable.
*
* @author Jeremy Jones
**/
public class Property implements Comparable {
private String name;
private Class valueType;
private Object initialValue;
private Object currentValue;
private Object[] availableValues;
/**
* Constructs a new Property. This version of the constructor does
* not specify a finite set of available values.
*
* @param theName the property name
* @param theValueType the value type class
* @param theInitialValue the initial value
**/
public Property(String theName, Class theValueType,
Object theInitialValue) {
this(theName, theValueType, theInitialValue, null);
}
/**
* Constructs a new Property. This version of the constructor does
* not specify a finite set of available values.
*
* @param theName the property name
* @param theValueType the value type class
* @param theInitialValue the initial value
* @param values the set of available values to choose from
**/
public Property(
String theName,
Class theValueType,
Object theInitialValue,
Object[] values) {
name = theName;
valueType = theValueType;
initialValue = theInitialValue;
availableValues = values;
currentValue = initialValue;
}
/**
* Returns the property name.
*
* @return property name
**/
public String getName() {
return name;
}
/**
* Property editors should be configured to edit objects of this type.
*
* @return the property value class
**/
public Class getValueType() {
return valueType;
}
/**
* Returns the initial property value.
*
* @return initial property value
**/
public Object getInitialValue() {
return initialValue;
}
/**
* Returns the set of available property values, or null if no such
* finite set exists.
*
* @return set of available property values
**/
public Object[] getAvailableValues() {
return availableValues;
}
/**
* Returns the currently selected property value.
*
* @return current property value
**/
public Object getCurrentValue() {
return currentValue;
}
/**
* Sets the currently selected property value.
*
* @param value new property value
**/
public void setCurrentValue(Object value) {
currentValue = value;
}
/**
* Compares two Properties by comparing their names.
*
* @see java.lang.Comparable#compareTo(java.lang.Object)
*/
public int compareTo(Object o) {
return name.compareTo(((Property) o).name);
}
}
|