edu.bonn.xulu.data
Class DynamicXuluObject

java.lang.Object
  extended by AbstractObjectTraceable
      extended by edu.bonn.xulu.data.AbstractXuluObject
          extended by edu.bonn.xulu.data.DynamicXuluObject
All Implemented Interfaces:
XuluComponent, XuluConstants, XuluObject

public class DynamicXuluObject
extends AbstractXuluObject

Diese Klasse bildet die Basisimplementierung eines dynamischen Xulu-Datenobjekts. Diesem koennen Eigenschaften (Propertys) hinzugefuegt oder entfernt werden.

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

Nested Class Summary
static class DynamicXuluObject.DefaultFactory
          Diese Klasse implementiert eine Standard-Instanz-Factory fuer DynamicXuluObject.
 
Field Summary
static InstantiationFactory DEFAULT_FACTORY
          Factory, die Standard-Instanzen von DynamicXuluObject erzeugt.
 
Fields inherited from class edu.bonn.xulu.data.AbstractXuluObject
propertyChangeListener, propSet
 
Fields inherited from interface edu.bonn.xulu.data.XuluObject
PROP_STYLE
 
Fields inherited from interface edu.bonn.xulu.appl.XuluConstants
BUG_MAIL_ADDR, EXTENTION_BUNDLE, ICONS_DIR, LOCALES_BASE, RESOURCE_DIR, SWING_RES, VERSION, VERSION_DATE, XULU_ICON, XULU_INFOICON, XULU_STARTICON, XULU_VIS_RES, XULUERR_RES, XULUGUI_RES
 
Constructor Summary
DynamicXuluObject()
          Erzeugt ein dynamisches Xulu-Objekt.
DynamicXuluObject(PropertySet propSet)
          Erzeugt ein dynamisches Xulu-Objekt.
DynamicXuluObject(String desc)
          Erzeugt ein dynamisches Xulu-Objekt.
DynamicXuluObject(String desc, PropertySet propSet)
          Erzeugt ein dynamisches Xulu-Objekt.
 
Method Summary
 void addProperty(Property prop)
          Fuegt dem Xulu-Objekt eine Eigenschaft hinzu.
 void removeProperties(Properties prop)
          Entfernt Eigenschaften aus der Menge.
 void removeProperty(Property prop)
          Entfernt eine Eigenschaft aus der Menge.
 void removeProperty(String name)
          Entfernt eine Eigenschaft aus dem Xulu-Objekt (sofern diese existiert).
 
Methods inherited from class edu.bonn.xulu.data.AbstractXuluObject
containsMultipleValues, containsProperty, dispose, equalsInStructure, getAttrCount, getAttrTypes, getDescription, getID, getName, getProperties, getProperties, getProperty, getPropertyCount, getPropertyNames, getPropertyTypes, getStructureName, isAccessed, isDisposed, isStructureNamed, setDescription, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_FACTORY

public static final InstantiationFactory DEFAULT_FACTORY
Factory, die Standard-Instanzen von DynamicXuluObject erzeugt.

Constructor Detail

DynamicXuluObject

public DynamicXuluObject(String desc,
                         PropertySet propSet)
Erzeugt ein dynamisches Xulu-Objekt.

Parameters:
desc - Beschreibung fuer den Datenpool
propSet - Eigenschaften aus denen das Objekt zusammengesetzt ist

DynamicXuluObject

public DynamicXuluObject(String desc)
Erzeugt ein dynamisches Xulu-Objekt. Dieses besitzt noch keine Eigenschaften.

Parameters:
desc - Beschreibung fuer den Datenpool

DynamicXuluObject

public DynamicXuluObject(PropertySet propSet)
Erzeugt ein dynamisches Xulu-Objekt. Diesem wird eine Default-Beschreibung fuer den Datenpool zugewiesen.

Parameters:
propSet - Eigenschaften aus denen das Objekt zusammengesetzt ist

DynamicXuluObject

public DynamicXuluObject()
Erzeugt ein dynamisches Xulu-Objekt. Dieses besitzt noch keine Eigenschaften und ihm wird eine Default-Beschreibung fuer den Datenpool zugewiesen.

Method Detail

addProperty

public void addProperty(Property prop)
Fuegt dem Xulu-Objekt eine Eigenschaft hinzu. Dabei wird auf Eindeutigkeit des Namens geachtet!

Parameters:
prop - Eigenschaft
Throws:
schmitzm.data.property.PropertyException - falls das Xulu-Objekt bereits eine Eigenschaft dieses Namens besitzt

removeProperty

public void removeProperty(String name)
Entfernt eine Eigenschaft aus dem Xulu-Objekt (sofern diese existiert).
Die entfernte Eigenschaft wird mittels Property#dispose() vollstaendig zerstoert.

Parameters:
name - Name der Eigenschaft

removeProperty

public void removeProperty(Property prop)
Entfernt eine Eigenschaft aus der Menge. Falls die Menge eine solche Eigenschaft nicht besitzt, passiert nichts.
Die entfernte Eigenschaft wird mittels Property#dispose() vollstaendig zerstoert.

Parameters:
prop - zu entfernende Eigenschaft

removeProperties

public void removeProperties(Properties prop)
Entfernt Eigenschaften aus der Menge. Falls die Menge eine dieser Eigenschaften nicht enthaelt, passiert fuer die entsprechende Eigenschaft nichts.
Alle entfernten Eigenschaften werden mittels Property#dispose() vollstaendig zerstoert.

Parameters:
prop - zu entfernende Eigenschaft