|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectschmitzm.data.event.AbstractObjectTraceable
schmitzm.data.property.Property
schmitzm.data.property.ValueProperty
schmitzm.data.property.ListProperty
public class ListProperty
Diese Klasse stellt eine Listen-Eigenschaft dar, die Objekte eines bestimmten
Typs aufnehmen kann. Die Groesse der Liste steht a priori noch nicht fest.
Es koennen beliebig Objekte hingefügt oder entfernt werden.
Intern wird die Liste als java.util.Vector
organisiert.
Der Zugriff auf die Liste kann durch Zugriffsrechte kontrolliert werden.
Ein Zugriff (lesend oder schreibend) ist nur ueber ein entsprechendes
Zugriffsrecht (Access
) moeglich. Standardmaessig ist unbegrenzter
Zugriff eingestellt. Durch Angabe von ValuePropertyAccessParameters
kann jedoch benutzerdefiniert festgelegt werden, wie viele Objekte gleichzeitig
Lese- und/oder Schreibzugriff erlangen duerfen.
getReadAccess(Object)
,
getWriteAccess(Object)
Field Summary | |
---|---|
protected Vector |
elements
Speichert die Listen-Elemente. |
Fields inherited from class schmitzm.data.property.Property |
---|
name, type |
Constructor Summary | |
---|---|
ListProperty(String name)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
Class elementType)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
Class elementType,
ValuePropertyAccessParameters params)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
Object sampleData)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
ObjectStructure sample)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
ObjectStructure sample,
ValuePropertyAccessParameters params)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
Object sampleData,
ValuePropertyAccessParameters params)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
ValuePropertyAccessParameters params)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
ValuePropertyType elementType)
Erzeugt eine Listen-Eigenschaft. |
|
ListProperty(String name,
ValuePropertyType elementType,
ValuePropertyAccessParameters params)
Erzeugt eine Listen-Eigenschaft. |
Method Summary | |
---|---|
ListProperty |
cloneStructure()
Liefert eine neue, leerer ListProperty mit identischem
Namen, Typ und gleichen Zugriffsparemetern. |
boolean |
containsMultipleValues()
Liefert true , da eine Listen-Eigenschaft immer
aus mehreren Werten besteht. |
void |
dispose()
Zerstoert die Property und die Property-Werte. |
int |
getAccessCount(Class c)
Liefert die Anzahl an Zugriffsrechten einer bestimmten Art, die aktuell fuer das Objekt verteilt sind. |
protected int |
getCount()
Liefert die aktuelle Anzahl an Elementen, die in der Liste gespeichert sind. |
ListPropertyReadAccess |
getOneTimeReadAccess()
Liefert ein Leserecht auf die Liste, welches nach einmaligem Zugriff automatisch ungueltig wird. |
ListPropertyWriteAccess |
getOneTimeWriteAccess()
Liefert ein Schreibrecht auf die Property, welches nach einmaligem Zugriff automatisch ungueltig wird. |
ListPropertyReadAccess |
getReadAccess(Object owner)
Liefert ein Leserecht auf die Liste. |
protected Object |
getValue(int... coords)
Liefert ein Element der Liste. |
ListPropertyWriteAccess |
getWriteAccess(Object owner)
Liefert ein Schreibrecht auf die Property. |
protected int |
indexOf(Object value)
Liefert den Listen-Index des ersten Vorkommens eines Elements. |
protected void |
insertValue(Object value,
int index)
Belegt ein Element der Liste. |
protected void |
removeValue(int index)
Entfernt ein Element aus der Liste. |
protected boolean |
removeValue(Object value)
Entfernt alle Instanzen des angegebenen Objekts aus der Liste (sofern es vorhanden ist). |
protected void |
setValue(Object value,
int... coords)
Belegt ein Element der Liste. |
Methods inherited from class schmitzm.data.property.ValueProperty |
---|
applyAccess, disposeAllAccess, equalsInStructure, getAccessCount, getAccessParameters, getAttrCount, getAttrTypes, getPropertyType, getStructureName, isStructureNamed, releaseAccess |
Methods inherited from class schmitzm.data.property.Property |
---|
containsProperty, getName, getProperties, getProperties, getProperty, getPropertyCount, getPropertyNames, getPropertyTypes, getType, hasAccess, hasAccess, isValid |
Methods inherited from class schmitzm.data.event.AbstractObjectTraceable |
---|
addObjectListener, containsObjectListener, createGeneralEvent, fireEvent, fireEvent, fireGeneralEvent, fireGeneralEvent, getObjectListener, isEventFiringEnabled, removeAllObjectListeners, removeObjectListener, setEventFiringEnabled |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Vector elements
Constructor Detail |
---|
public ListProperty(String name, ValuePropertyType elementType, ValuePropertyAccessParameters params)
name
- Bezeichnung der EigenschaftelementType
- Daten-Typ der Elemente, die die ListProperty
aufnehmen kannparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public ListProperty(String name, ValuePropertyType elementType)
name
- Bezeichnung der EigenschaftelementType
- Daten-Typ der Elemente, die die ListProperty
aufnehmen kannValuePropertyAccessParameters.UNLIMITED_ACCESS
public ListProperty(String name, Class elementType, ValuePropertyAccessParameters params)
name
- Bezeichnung der EigenschaftelementType
- Daten-Typ der Elemente, die die ListProperty
aufnehmen kannparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public ListProperty(String name, Class elementType)
name
- Bezeichnung der EigenschaftelementType
- Daten-Typ der Elemente, die die ListProperty
aufnehmen kannValuePropertyAccessParameters.UNLIMITED_ACCESS
public ListProperty(String name, ObjectStructure sample, ValuePropertyAccessParameters params)
name
- Bezeichnung der Eigenschaftsample
- Bestimmt die Element-Struktur, die in der ListProperty
gespeichert werden koennenparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public ListProperty(String name, ObjectStructure sample)
name
- Bezeichnung der Eigenschaftsample
- Bestimmt die Element-Struktur, die in der ListProperty
gespeichert werden koennenValuePropertyAccessParameters.UNLIMITED_ACCESS
public ListProperty(String name, Object sampleData, ValuePropertyAccessParameters params)
name
- Bezeichnung der EigenschaftsampleData
- Bestimmt die Element-Struktur, die in der ListProperty
gespeichert werden koennen (das Objekt wird nicht
in die Liste aufgenommen!!)params
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public ListProperty(String name, Object sampleData)
name
- Bezeichnung der EigenschaftsampleData
- Bestimmt die Element-Struktur, die in der ListProperty
gespeichert werden koennen (das Objekt wird nicht
in die Liste aufgenommen!!)ValuePropertyAccessParameters.UNLIMITED_ACCESS
public ListProperty(String name, ValuePropertyAccessParameters params)
java.lang.Object
abgeleitet sind
(also keine Build-in-Types!!).
name
- Bezeichnung der Eigenschaftparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public ListProperty(String name)
java.lang.Object
abgeleitet sind
(also keine Build-in-Types!!). Der Zugriff auf die Eigenschaft ist
uneingeschraengt (beliebig viele Lese- und beliebig viele Schreibrechte).
name
- Bezeichnung der EigenschaftValuePropertyAccessParameters.UNLIMITED_ACCESS
Method Detail |
---|
public void dispose()
dispose()
-Methoden aufgerufen.
dispose
in class Property
public ListProperty cloneStructure()
ListProperty
mit identischem
Namen, Typ und gleichen Zugriffsparemetern.
cloneStructure
in class Property
public ListPropertyReadAccess getReadAccess(Object owner)
PropertyReadAccess
, sondern ein
ListPropertyReadAccess
.
getReadAccess
in class ValueProperty
owner
- Objekt, welches das Recht beantragtValueProperty.applyAccess(Access)
,
ValueProperty.getAccessParameters()
public ListPropertyWriteAccess getWriteAccess(Object owner)
PropertyWriteAccess
, sondern ein
ListPropertyWriteAccess
.
getWriteAccess
in class ValueProperty
owner
- Objekt, welches das Recht beantragtValueProperty.applyAccess(Access)
,
ValueProperty.getAccessParameters()
public ListPropertyReadAccess getOneTimeReadAccess()
PropertyReadAccess
, sondern ein
ListPropertyReadAccess
.
getOneTimeReadAccess
in class ValueProperty
ValueProperty.applyAccess(Access)
,
ValueProperty.getAccessParameters()
public ListPropertyWriteAccess getOneTimeWriteAccess()
PropertyWriteAccess
, sondern ein
ListPropertyWriteAccess
.
getOneTimeWriteAccess
in class ValueProperty
ValueProperty.applyAccess(Access)
,
ValueProperty.getAccessParameters()
public int getAccessCount(Class c)
ValueProperty.getAccessCount(Class)
ueberschreiben, da dieser
Klasse Instanzen von ListPropertyReadAccess
und ListPropertyWriteAccess
verteilt.
getAccessCount
in interface Accessible
getAccessCount
in class ValueProperty
protected Object getValue(int... coords)
coords
-Parameter genau 1 Wert angegeben werden!!
getValue
in class ValueProperty
coords
- Listen-Index
UnsupportedOperationException
- falls nicht genau ein
coords
-Parameter angegeben wirdprotected void setValue(Object value, int... coords)
ObjectChangeEvent
fuer die Liste.
Da eine Listen-Eigenschaft 1-dim. ist, muss als
coords
-Parameter genau 1 Wert angegeben werden!!
setValue
in class ValueProperty
value
- neuer Wert fuer das Listen-Elementcoords
- Listen-Index
UnsupportedOperationException
- falls nicht genau ein
coords
-Parameter angegeben wird
ClassCastException
- falls das angegebene Objekt nicht
zum Property-Typ passtprotected int indexOf(Object value)
value
- Listen-Element
protected int getCount()
protected void insertValue(Object value, int index)
ObjectChangeEvent
fuer die Liste.
value
- neuer Wert fuer das Listen-Elementindex
- Listen-Index fuer das neue Element (alle bestehenden Elemente
ab (einschliesslich) dieser Position werden nach hinten
verschoben)
ClassCastException
- falls das angegebene Objekt nicht
zum Property-Typ passtprotected void removeValue(int index)
ObjectChangeEvent
fuer die Liste.
index
- Listen-Index des zu loeschenden Elementsprotected boolean removeValue(Object value)
ObjectChangeEvent
fuer die Liste.
value
- das zu entfernende Objekt
false
falls dass Objekt nicht in der Liste vorhanden warpublic boolean containsMultipleValues()
true
, da eine Listen-Eigenschaft immer
aus mehreren Werten besteht.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |