edu.bonn.xulu.model
Interface ModelResource

All Known Implementing Classes:
AbstractModelResource, DefaultModelResource, PropertiesResource, ValuePropertyResource

public interface ModelResource

Eine Ressource beschreibt allgemein ein Datenobjekt, das für die Modellierung benoetigt wird. Im Unterschied zu einem konkreten Daten-Objekt, existiert die Ressource auch, wenn noch gar keine Daten vorhanden sind.
Die Ressource beschreibt also vor allem die Struktur des benoetigten Objekts. Gleichzeitig nimmt sie aber auch die konkreten Daten auf und ist fuer deren Typenvertraeglichkeit verantwortlich.
Eine Ressource besteht aus 3 Teilen:

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
static int CATEGORY_INPUT
          Definiert die Ressource als Eingabe-Ressource
static int CATEGORY_OTHER
          Definiert die Ressource als "andere" Ressource
static int CATEGORY_OUTPUT
          Definiert die Ressource als Ausgabe-Ressource
static int CATEGORY_TEMP
          Definiert die Ressource als temporaere Ressource
 
Method Summary
 boolean check()
          Prueft das der Ressource zugeordnete Objekt auf Typ- und Wert-Konsistenz mit der Ressource.
 boolean check(Object data)
          Prueft ein beliebiges Objekt auf Typ- und Wert-Konsistenz mit der Ressource.
 void checkAndError()
          Prueft das der Ressource zugeordnete Objekt auf Typ- und Wert-Konsistenz mit der Ressource.
 void checkAndError(Object data)
          Prueft ein beliebiges Objekt auf Typ- und Wert-Konsistenz mit der Ressource.
 boolean checkType(Object data)
          Prueft ein beliebiges Objekt nur auf Typ-Vertraeglichkeit mit der Ressource.
 void checkTypeAndError(Object data)
          Prueft ein beliebiges Objekt nur auf Typ-Vertraeglichkeit mit der Ressource.
 int getCategory()
          Liefert die Kategorie der Ressource.
 Object getData()
          Liefert das Daten-Objekt der Ressource.
 String getDesc()
          Liefert eine Beschreibung, worum es sich bei der Ressource handelt.
 Class getType()
          Liefert den Datentyp der Ressource.
 boolean isCategory(int category)
          Prueft, ob die Ressource einer bestimmten Kategorie zugeordnet ist.
 boolean isCategoryAll(int category)
          Prueft, ob die Ressource einer bestimmten Kategorie-Kombination zugeordnet ist.
 boolean isNullable()
          Gibt an, ob die Ressource opional ist (also unbelegt bleiben darf).
 void setCategory(int category)
          Setzt die Kategorie der Ressource.
 void setData(Object data)
          Ordnet der Ressource ein bestimmtes Datenobjekt zu.
 void setData(Object data, boolean check)
          Ordnet der Ressource ein bestimmtes Datenobjekt zu.
 void setDesc(String desc)
          Setzt eine Beschreibung, worum es sich bei der Ressource handelt.
 void setNullable(boolean nullable)
          Bestimmt, ob die Ressource opional ist (also unbelegt bleiben darf).
 

Field Detail

CATEGORY_OTHER

static final int CATEGORY_OTHER
Definiert die Ressource als "andere" Ressource

See Also:
Constant Field Values

CATEGORY_INPUT

static final int CATEGORY_INPUT
Definiert die Ressource als Eingabe-Ressource

See Also:
Constant Field Values

CATEGORY_OUTPUT

static final int CATEGORY_OUTPUT
Definiert die Ressource als Ausgabe-Ressource

See Also:
Constant Field Values

CATEGORY_TEMP

static final int CATEGORY_TEMP
Definiert die Ressource als temporaere Ressource

See Also:
Constant Field Values
Method Detail

getType

Class getType()
Liefert den Datentyp der Ressource.


getDesc

String getDesc()
Liefert eine Beschreibung, worum es sich bei der Ressource handelt. Diese macht dem Anwender kenntlich, wofuer die Ressource vom Modell benoetigt wird.


setDesc

void setDesc(String desc)
Setzt eine Beschreibung, worum es sich bei der Ressource handelt. Diese macht dem Anwender kenntlich, wofuer die Ressource vom Modell benoetigt wird.


getData

Object getData()
Liefert das Daten-Objekt der Ressource. Initial sollte dieses null sein.


setData

void setData(Object data,
             boolean check)
Ordnet der Ressource ein bestimmtes Datenobjekt zu. Wird i.d.R. vom XULU-ModelInputManager aufgerufen, nachdem der Anwender Daten aus dem DatenPool zugeordnet hat.

Parameters:
data - Daten-Objekt
check - bestimmt, ob das Datenobjekt sofort auf Typ-Vertraeglichkeit ueberprueft werden soll

isNullable

boolean isNullable()
Gibt an, ob die Ressource opional ist (also unbelegt bleiben darf).


setNullable

void setNullable(boolean nullable)
Bestimmt, ob die Ressource opional ist (also unbelegt bleiben darf).


setData

void setData(Object data)
             throws XuluDataException
Ordnet der Ressource ein bestimmtes Datenobjekt zu. Zuvor wird das Objekt auf Korrektheit ueberprueft. Wird i.d.R. vom XULU-ModelInputManager aufgerufen, nachdem der Anwender Daten aus dem DatenPool zugeordnet hat.

Parameters:
data - Daten-Objekt
Throws:
XuluDataException - falls das zugeordnete Objekt null ist, oder die Klasse nicht mit dem Ressourcen-Typ vertraeglich ist
See Also:
checkAndError()

getCategory

int getCategory()
Liefert die Kategorie der Ressource. Dies kann die Konstante CATEGORY_OTHER sein, oder eine logische Oder-Verknuepfung der Konstanten CATEGORY_INPUT, CATEGORY_OUTPUT und CATEGORY_TEMP.


setCategory

void setCategory(int category)
Setzt die Kategorie der Ressource. Dies kann die Konstante CATEGORY_OTHER sein, oder eine logische Oder-Verknuepfung der Konstanten CATEGORY_INPUT, CATEGORY_OUTPUT und CATEGORY_TEMP.


isCategory

boolean isCategory(int category)
Prueft, ob die Ressource einer bestimmten Kategorie zugeordnet ist. Liefert true wenn die Ressource einer der angegebenen Kategorien zugeordnet ist (ODER).

Parameters:
category - Oder-Verknuepfung von Kategorien
Returns:
this.getCategory() == CATEGORY_OTHER && category == CATEGORY_OTHER || (this.getCategory() & category) > 0

isCategoryAll

boolean isCategoryAll(int category)
Prueft, ob die Ressource einer bestimmten Kategorie-Kombination zugeordnet ist. Liefert true wenn die Ressource allen angegebenen Kategorien zugeordnet ist (UND).

Returns:
this.getCategory() == CATEGORY_OTHER && category == CATEGORY_OTHER || (this.getCategory() & category) == category

check

boolean check(Object data)
Prueft ein beliebiges Objekt auf Typ- und Wert-Konsistenz mit der Ressource.


checkAndError

void checkAndError(Object data)
                   throws XuluDataException
Prueft ein beliebiges Objekt auf Typ- und Wert-Konsistenz mit der Ressource. Kann manuell aufgerufen werden und wird automatisch von setData(Object) aufgerufen.

Throws:
XuluDataException - falls der Typ oder der Wert des zugeordneten Objekts nicht mit der Ressource vertraeglich ist

checkType

boolean checkType(Object data)
Prueft ein beliebiges Objekt nur auf Typ-Vertraeglichkeit mit der Ressource.


checkTypeAndError

void checkTypeAndError(Object data)
                       throws XuluDataException
Prueft ein beliebiges Objekt nur auf Typ-Vertraeglichkeit mit der Ressource.

Throws:
XuluDataException - falls der Objekt-Typ nicht mit der Ressourcen vertraeglich ist

check

boolean check()
Prueft das der Ressource zugeordnete Objekt auf Typ- und Wert-Konsistenz mit der Ressource.


checkAndError

void checkAndError()
                   throws XuluDataException
Prueft das der Ressource zugeordnete Objekt auf Typ- und Wert-Konsistenz mit der Ressource.

Throws:
XuluDataException - falls der Typ oder der Wert des zugeordneten Objekts nicht mit der Ressource vertraeglich ist