|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jsystems.framework.common.Item
de.jsystems.framework.common.DynamicItem
Diese Klasse ist ein Item mit der Besonderheit, dass erst zur Laufzeit
entschieden wird, welche Attribute das Item hat. Auch können zur Laufzeit
bestehende Attribute gelöscht oder neue hinzugefuegt werden. Die einzigen
Attribute, die immer da sind, ist die eindeutige ID
(Item.getItemID()
) des Items sowie der
Name (Item.getName()
) des Items.
Zusaetzliche Attribute im DynamicItem werden nicht durch Groß-/Kleinschreibung
unterschieden! Die Attribute 'Name' und 'name' sind also gleich und beim
hinzufuegen dieser Attribute ueber die Methode addAttribute(String, Class)
wuerde das zuletzt hinzugefuegte das zuerst hinzugefuegte ueberschreiben.
Primitive Datentypen koennen hier nicht gespeichert werden. Hierfuer muss dann
auf die entsprechenden Wrappertypen ausgewichen werden.
Zu beachten ist, das auch hier alle gespeicherten Attributwerte das Interface
Serializable
implementieren muessen, da ansonsten der Aufruf
der Methode Item.deepCopy()
fehlschlaegt.
Field Summary |
Fields inherited from class de.jsystems.framework.common.Item |
DISABLE, DISABLE_MUSSFELD, INVISIBLE, INVISIBLE_MUSSFELD, MUSSFELD, STANDARD |
Constructor Summary | |
DynamicItem()
Erzeugt ein DynamicItem. |
|
DynamicItem(String itemID)
Erzeugt ein neues DynamicItem. |
|
DynamicItem(String itemID,
String name)
Erzeugt ein neues DynamicItem mit der uebergebenen ID und dem uebergebenen Namen. |
Method Summary | |
void |
addAttribute(String name,
Class typ)
Fügt dem Item ein neues Attribut hinzu. |
boolean |
containsAttribut(String name)
Prüft ob es das gewünschte Attribut in diesem Item gibt. |
int |
getAttributeCount()
Gibt die Anzahl Attribute im Item zurück. |
Iterator |
getAttributeNames()
Gibt einen Iterator mit allen Attributnamen zurück. |
Class |
getTyp(String name)
Gibt den Typ des Attributes mit dem uebergebenen Namen zurück. |
Object |
getValue(String name)
Gibt den Wert des Attributes mit dem uebergebenen Namen zurueck. |
void |
removeAttribute(String name)
Löscht das angegebene Attribut aus dem Item. |
void |
setValue(String name,
Object value)
Setzt den Wert des Attributes mit dem uebergebenen Namen. |
Methods inherited from class de.jsystems.framework.common.Item |
deepCopy, equals, getItemID, getName, isAttributeEditable, isAttributeMussfeld, isAttributeVisible, registerAttribute, setName, toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public DynamicItem()
public DynamicItem(String itemID)
NULL
oder ein Leerstring uebergeben, so wird eine
IllegalArgumentException
ausgeloest.
Die uebergebene ID sollte eindeutig sein, da es sonst zu Problemen
in den Models kommen kann, da diese immer nur mit der ID eines
Items arbeiten zum finden oder loeschen.
itemID
- Eine eindeutige ID fuer das Item.public DynamicItem(String itemID, String name)
NULL
oder ein Leerstring uebergeben, so wird eine
IllegalArgumentException
ausgeloest.
Die uebergebene ID sollte eindeutig sein, da es sonst zu Problemen
in den Models kommen kann, da diese immer nur mit der ID eines
Items arbeiten zum finden oder loeschen.
itemID
- Eine eindeutige ID fuer das Item.name
- Ein Name fuer das Item.Method Detail |
public void addAttribute(String name, Class typ)
name
- Name des neuen Attributes.typ
- Klassentyp des Attributes.public void removeAttribute(String name)
name
- Name des zu löschenden Attributes.public Iterator getAttributeNames()
public int getAttributeCount()
public Class getTyp(String name)
NULL
zurückgegeben.
name
- Name des Atributes.
NULL
.public Object getValue(String name)
NULL
zurückgegeben.
name
- Name des Attributes.
NULL
.public void setValue(String name, Object value) throws WrongValueTypeException
WrongValueTypeException
ausgelöst. Zwischen Groß-/Kleinschreibung
wird nicht unterschieden. Wenn ein Leerstring übergeben wurde, und
das Attribut nicht vom Typ String
ist, wird das Attribut auf
NULL gesetzt. Wenn NULL
uebergeben wird, wird der Wert fuer
das Attribut immer auf NULL
gesetzt. Falls unter dem
uebergebenen Namen kein Attribut angelegt wurde passiert nichts.
name
- Name des Atributes.value
- Der neue Wert des Attributes.
WrongValueTypeException
- Wird ausgelöst wenn der Typ von
value
nicht zum Typ des
Atributes passt.public boolean containsAttribut(String name)
name
- Name des gesuchten Attributes.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |