edu.bonn.xulu.model
Class PropertiesResource

java.lang.Object
  extended by edu.bonn.xulu.model.AbstractModelResource
      extended by edu.bonn.xulu.model.PropertiesResource
All Implemented Interfaces:
ModelResource
Direct Known Subclasses:
ValuePropertyResource

public class PropertiesResource
extends AbstractModelResource

Diese Implementierung von ModelResource laesst nur Properties-Objekte als Datenobjekt zu.
Details zur Funktionalitaet und Bestimmung dieser Klasse sind in ModelResource zu finden.

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

Field Summary
 
Fields inherited from class edu.bonn.xulu.model.AbstractModelResource
category, data, desc, nullable, type
 
Fields inherited from interface edu.bonn.xulu.model.ModelResource
CATEGORY_INPUT, CATEGORY_OTHER, CATEGORY_OUTPUT, CATEGORY_TEMP
 
Constructor Summary
PropertiesResource(int category, String desc, Class type, boolean nullable)
          Erzeugt eine leere Ressource.
PropertiesResource(int category, String desc, Properties data, boolean nullable)
          Erzeugt Ressource und ordnet ihr ein konretes Datenobjekt zu.
PropertiesResource(String desc, Class type, boolean nullable)
          Erzeugt eine leere Ressource.
PropertiesResource(String desc, Properties data, boolean nullable)
          Erzeugt Ressource und ordnet ihr ein konretes Datenobjekt zu.
 
Method Summary
 void checkAndError(Object data)
          Prueft ein beliebiges Objekt auf Typ-Konsistenz mit der Ressource und auf die Erfuelltheit der Constraints.
 void checkTypeAndError(Object data)
          Prueft ein beliebiges Objekt auf Typ-Konsistenz mit der Ressource und ggf. auf not null.
 Properties getData()
          Liefert das Daten-Objekt der Ressource.
 
Methods inherited from class edu.bonn.xulu.model.AbstractModelResource
check, check, checkAndError, checkCategory, checkType, getCategory, getDesc, getType, isCategory, isCategoryAll, isNullable, setCategory, setData, setData, setDesc, setNullable, throwDataException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertiesResource

public PropertiesResource(int category,
                          String desc,
                          Class type,
                          boolean nullable)
Erzeugt eine leere Ressource.

Parameters:
category - Ordnet die Ressource in eine Kategorie ein (siehe AbstractModelResource.setCategory(int))
desc - Beschreibung der Ressource
type - Datentyp der Ressource; muss eine (Sub)Klasse von Properties sein
nullable - gibt an, ob die Ressource unbelegt bleiben darf
Throws:
XuluDataException - falls der Datentyp null oder keine (Sub)Klasse von Properties ist.

PropertiesResource

public PropertiesResource(int category,
                          String desc,
                          Properties data,
                          boolean nullable)
Erzeugt Ressource und ordnet ihr ein konretes Datenobjekt zu. Der Datentyp wird implizit aus dem uebergebenen Objekt ermittelt.

Parameters:
category - Ordnet die Ressource in eine Kategorie ein (siehe AbstractModelResource.setCategory(int))
data - Daten-Objekt fuer die Ressource
desc - Beschreibung der Ressource
nullable - gibt an, ob die Ressource unbelegt bleiben darf
Throws:
XuluDataException - falls das Datenobjekt null ist, denn aus null kann kein Datentyp ermittelt werden

PropertiesResource

public PropertiesResource(String desc,
                          Class type,
                          boolean nullable)
Erzeugt eine leere Ressource.

Parameters:
desc - Beschreibung der Ressource
type - Datentyp der Ressource; muss eine (Sub)Klasse von Properties sein
nullable - gibt an, ob die Ressource unbelegt bleiben darf
Throws:
XuluDataException - falls der Datentyp null oder keine (Sub)Klasse von Properties ist.

PropertiesResource

public PropertiesResource(String desc,
                          Properties data,
                          boolean nullable)
Erzeugt Ressource und ordnet ihr ein konretes Datenobjekt zu. Der Datentyp wird implizit aus dem uebergebenen Objekt ermittelt.

Parameters:
data - Daten-Objekt fuer die Ressource
desc - Beschreibung der Ressource
nullable - gibt an, ob die Ressource unbelegt bleiben darf
Throws:
XuluDataException - falls das Datenobjekt null ist, denn aus null kann kein Datentyp ermittelt werden
Method Detail

getData

public Properties getData()
Liefert das Daten-Objekt der Ressource.

Specified by:
getData in interface ModelResource
Overrides:
getData in class AbstractModelResource

checkTypeAndError

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

Specified by:
checkTypeAndError in interface ModelResource
Specified by:
checkTypeAndError in class AbstractModelResource
Throws:
XuluDataException - falls das Objekt unerlaubterweise null ist, oder dessen Klasse nicht mit dem Ressourcen-Typ vertraeglich ist

checkAndError

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

Specified by:
checkAndError in interface ModelResource
Specified by:
checkAndError in class AbstractModelResource
Throws:
XuluDataException - falls das Objekt unerlaubterweise null ist, oder dessen Klasse nicht mit dem Ressourcen-Typ vertraeglich ist