schmitzm.data.property
Class ValuePropertyType

java.lang.Object
  extended by schmitzm.data.property.PropertyType
      extended by schmitzm.data.property.ValuePropertyType

public class ValuePropertyType
extends PropertyType

Diese Klasse repraesentiert den Datentyp einer Wert-Eigenschaft. Der Datentyp kann aus einer einfachen Klasse bestehen, oder aus oder aus einer komplexen Objekt-Struktur. Bemerke:
Fuer Basis-Datentypen (int, double, String, ...) sollten keine neuen ValuePropertyType-Instanzen erzeugt werden, sondern die bereits implementierten Konstanten verwendet werden!

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
TYPE_BYTE, TYPE_SHORT, TYPE_INT, TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_BOOLEAN, TYPE_CHAR, TYPE_STRING

Field Summary
protected  ObjectStructure structure
          Speichert die Struktur der Objekte, die fuer den Property-Wert zulaessig ist.
static ValuePropertyType TYPE_BOOLEAN
          Repraesentiert eine vorgefertigte Boolean-Eigenschaft.
static ValuePropertyType TYPE_BYTE
          Repraesentiert eine vorgefertigte Byte-Eigenschaft.
static ValuePropertyType TYPE_CHAR
          Repraesentiert eine vorgefertigte Character-Eigenschaft.
static ValuePropertyType TYPE_DOUBLE
          Repraesentiert eine vorgefertigte Double-Eigenschaft.
static ValuePropertyType TYPE_FLOAT
          Repraesentiert eine vorgefertigte Float-Eigenschaft.
static ValuePropertyType TYPE_INT
          Repraesentiert eine vorgefertigte Integer-Eigenschaft.
static ValuePropertyType TYPE_LONG
          Repraesentiert eine vorgefertigte Long-Eigenschaft.
static ValuePropertyType TYPE_SHORT
          Repraesentiert eine vorgefertigte Short-Eigenschaft.
static ValuePropertyType TYPE_STRING
          Repraesentiert eine vorgefertigte String-Eigenschaft.
 
Fields inherited from class schmitzm.data.property.PropertyType
type
 
Constructor Summary
ValuePropertyType(Class type)
          Erzeugt einen neuen Eigenschaftstyp.
ValuePropertyType(ObjectStructure sample)
          Erzeugt einen neuen Eigenschaftstyp.
 
Method Summary
static ValuePropertyType createValuePropertyType(Object sample)
          Liefert einen passenden Property-Typ zu einem Datentyp oder einem Beispiel-Objekt.
 boolean equalsInStructure(Object typeObj)
          Prueft, ob der Datentyp mit einem anderen strukturell identisch ist.
 ObjectStructure getTypeStructure()
          Liefert die (feste) Struktur des Eigenschaftstyp.
 boolean isStructured()
          Prueft, ob der Eigenschaftstyp aus einer festen Struktur besteht.
 
Methods inherited from class schmitzm.data.property.PropertyType
getType, isValid, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

structure

protected ObjectStructure structure
Speichert die Struktur der Objekte, die fuer den Property-Wert zulaessig ist.


TYPE_BYTE

public static final ValuePropertyType TYPE_BYTE
Repraesentiert eine vorgefertigte Byte-Eigenschaft.


TYPE_SHORT

public static final ValuePropertyType TYPE_SHORT
Repraesentiert eine vorgefertigte Short-Eigenschaft.


TYPE_INT

public static final ValuePropertyType TYPE_INT
Repraesentiert eine vorgefertigte Integer-Eigenschaft.


TYPE_LONG

public static final ValuePropertyType TYPE_LONG
Repraesentiert eine vorgefertigte Long-Eigenschaft.


TYPE_FLOAT

public static final ValuePropertyType TYPE_FLOAT
Repraesentiert eine vorgefertigte Float-Eigenschaft.


TYPE_DOUBLE

public static final ValuePropertyType TYPE_DOUBLE
Repraesentiert eine vorgefertigte Double-Eigenschaft.


TYPE_BOOLEAN

public static final ValuePropertyType TYPE_BOOLEAN
Repraesentiert eine vorgefertigte Boolean-Eigenschaft.


TYPE_CHAR

public static final ValuePropertyType TYPE_CHAR
Repraesentiert eine vorgefertigte Character-Eigenschaft.


TYPE_STRING

public static final ValuePropertyType TYPE_STRING
Repraesentiert eine vorgefertigte String-Eigenschaft.

Constructor Detail

ValuePropertyType

public ValuePropertyType(ObjectStructure sample)
Erzeugt einen neuen Eigenschaftstyp. Bemerke:
Fuer Basis-Datentypen (Integer, Double, String, ...) sollte nicht dieser Konstruktor verwendet werden, sondern eine der konstanten ValuePropertyType-Instanzen.

Parameters:
sample - Beispielwert
Throws:
UnsupportedOperationException - falls der Beispiel-Wert keine Instanz des Eigenschaftstyp ist.
See Also:
TYPE_BYTE, TYPE_SHORT, TYPE_INT, TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_BOOLEAN, TYPE_CHAR, TYPE_STRING

ValuePropertyType

public ValuePropertyType(Class type)
Erzeugt einen neuen Eigenschaftstyp. Der Beispielwert wird ueber den Standard-Konstruktor der Typ-Klasse zu instanziieren versucht. Schlaegt dies fehl, wird der Beispiel-Wert auf null gesetzt.
Bemerke:
Fuer Basis-Datentypen (Integer, Double, String, ...) sollte nicht dieser Konstruktor verwendet werden, sondern eine der konstanten ValuePropertyType-Instanzen.

Parameters:
type - Typ den die Eigenschaft aufnehmen kann
See Also:
TYPE_BYTE, TYPE_SHORT, TYPE_INT, TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_BOOLEAN, TYPE_CHAR, TYPE_STRING
Method Detail

createValuePropertyType

public static ValuePropertyType createValuePropertyType(Object sample)
Liefert einen passenden Property-Typ zu einem Datentyp oder einem Beispiel-Objekt. Handelt es sich um einen Basis-Datentyp (Integer, Double, String, ...) wird eine der konstanten ValuePropertyType-Instanzen zurueckgegeben. Andernfalls wird versucht den Beispielwert ueber den Standard-Konstruktor der angegebenen Klasse zu erzeugen. Schlaegt dies fehl, wird der Beispiel-Wert auf null gesetzt.

Parameters:
sample - Typ den die Eigenschaft aufnehmen soll (Class, ObjectStructure oder Beispiel-Object)
See Also:
TYPE_BYTE, TYPE_SHORT, TYPE_INT, TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_BOOLEAN, TYPE_CHAR, TYPE_STRING

isStructured

public boolean isStructured()
Prueft, ob der Eigenschaftstyp aus einer festen Struktur besteht.

Returns:
false falls der Eigenschaftstyp lediglich durch eine Klasse festgelegt ist

getTypeStructure

public ObjectStructure getTypeStructure()
Liefert die (feste) Struktur des Eigenschaftstyp.

Returns:
null falls der Eigenschaftstyp lediglich durch eine Klasse festgelegt ist

equalsInStructure

public boolean equalsInStructure(Object typeObj)
Prueft, ob der Datentyp mit einem anderen strukturell identisch ist. Der Inhalt der Eigenschaft wird nicht beachtet

Parameters:
typeObj - kann eine ValuePropertyType-Instanz sein, oder auch eine ValueProperty-Instanz