schmitzm.data.property
Interface Properties

All Superinterfaces:
ObjectStructure
All Known Subinterfaces:
DynamicProperties
All Known Implementing Classes:
ListProperty, MatrixProperty, Property, PropertySet, ScalarProperty, ValueProperty

public interface Properties
extends ObjectStructure

Diese Interface sollten alle Objekte implementieren, die sich (fest) aus einzelnen Eigenschaften (Properties) zusammensetzen. Die Methoden des Interface liefern den Zugriff auf die einzelnen Eigenschaften. Das Hinzufuegen oder Entfernen von Eigenschaften ist durch dieses Interface nicht moeglich.

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

Method Summary
 boolean containsProperty(String name)
          Prueft, ob das Objekt eine bestimmte Eigenschaft besitzt.
 Property[] getProperties()
          Liefert die Eigenschaften des Objekts als Array.
 Properties getProperties(Class type)
          Liefert alle Eigenschaften des Objekts, die einem bestimmten Typ angehoeren.
 Property getProperty(String name)
          Liefert eine Eigenschaft des Objekts.
 int getPropertyCount()
          Liefert die Anzahl an Eigenschaften des Objekts.
 String[] getPropertyNames()
          Liefert die Namen aller Eigenschaften des Objekts.
 PropertyType[] getPropertyTypes()
          Liefert die Typen aller Eigenschaften des Objekts.
 
Methods inherited from interface schmitzm.data.ObjectStructure
containsMultipleValues, equalsInStructure, getAttrCount, getAttrTypes, getStructureName, isStructureNamed
 

Method Detail

getPropertyCount

int getPropertyCount()
Liefert die Anzahl an Eigenschaften des Objekts.


getProperties

Property[] getProperties()
Liefert die Eigenschaften des Objekts als Array. Wenn das Objekt (noch) keine Eigenschaften besitzt, sollte ein leerer Array (und nicht null!) zurueckgegeben werden!


getProperties

Properties getProperties(Class type)
Liefert alle Eigenschaften des Objekts, die einem bestimmten Typ angehoeren. Als Typ kann sowohl ein bestimmter Property-Untertyp angegeben werden (z.B. ListProperty) oder ein Objekt-Typ (Typ den eine Property aufnehmen kann; z.B. int.class).
Da die Methode wiederum eine Properties-Instanz liefert, lassen sich recht einfach verschiedene Filter hintereinander anwenden:

Properties.getProperties(ListProperty.class).getProperties(int.class).getPropertyNames()

liefert z.B. die Namen aller Listen-Eigenschaften eines Objekts, die int-Werte aufnehmen koennen.
Bemerke:
Wenn das Objekt keine Eigenschaften des angegebenen Typs besitzt, sollte eine leere Property-Menge (z.B. PropertySet) zurueckgegeben werden und nicht null!


getPropertyNames

String[] getPropertyNames()
Liefert die Namen aller Eigenschaften des Objekts.


getPropertyTypes

PropertyType[] getPropertyTypes()
Liefert die Typen aller Eigenschaften des Objekts.


getProperty

Property getProperty(String name)
Liefert eine Eigenschaft des Objekts.

Parameters:
name - Name der Eigenschaft
Returns:
null falls das Objekt keine Eigenschaft mit dem Namen besitzt

containsProperty

boolean containsProperty(String name)
Prueft, ob das Objekt eine bestimmte Eigenschaft besitzt.