|
|||||||||
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.MatrixProperty
public class MatrixProperty
Diese Klasse stellt eine Matrix-Eigenschaft dar, die Objekte eines bestimmten
Typs aufnehmen kann. Die Dimension und Groesse der Matrix wird bei der
Instanziierung festgelegt und kann nicht geaendert werden.
Der Zugriff auf die Property 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.
ValueProperty.getReadAccess(Object)
,
ValueProperty.getWriteAccess(Object)
Field Summary | |
---|---|
protected Object |
matrix
Speichert die Matrix als java.lang.reflect.Array . |
protected String |
sizeDesc
Speichert die Groessenangabe der Matrix als String der Form
"(d1,d2,d3,...) |
Fields inherited from class schmitzm.data.property.Property |
---|
name, type |
Constructor Summary | |
---|---|
MatrixProperty(String name,
int[] size)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
Class elementType)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
Class elementType,
ValuePropertyAccessParameters params)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
Object sampleData)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
ObjectStructure sample)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
ObjectStructure sample,
ValuePropertyAccessParameters params)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
Object sampleData,
ValuePropertyAccessParameters params)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
ValuePropertyAccessParameters params)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
ValuePropertyType elementType)
Erzeugt eine Matrix-Eigenschaft. |
|
MatrixProperty(String name,
int[] size,
ValuePropertyType elementType,
ValuePropertyAccessParameters params)
Erzeugt eine Matrix-Eigenschaft. |
Method Summary | |
---|---|
MatrixProperty |
cloneStructure()
Liefert eine neue, leerer MatrixProperty mit identischem
Namen, Typ, geleicher Groesse und gleichen Zugriffsparemetern. |
boolean |
containsMultipleValues()
Liefert true , da eine Matrix-Eigenschaft immer
aus mehreren Werten besteht. |
void |
dispose()
Zerstoert die Matrix, indem die auf null gesetzt wird. |
int |
getDimension()
Liefert die Dimension der Matrix. |
int[] |
getSize()
Liefert die Groesse der Matrix in allen Dimensionen. |
int |
getSize(int dim)
Liefert die Groesse der Matrix in einer Dimension. |
String |
getSizeText()
Liefert die Groesse der Matrix in allen Dimensionen als Beschreibung. |
protected Object |
getValue(int... coords)
Liefert ein Element der Matrix. |
protected void |
setValue(Object value,
int... coords)
Setzt ein Element der Matrix. |
Methods inherited from class schmitzm.data.property.ValueProperty |
---|
applyAccess, disposeAllAccess, equalsInStructure, getAccessCount, getAccessCount, getAccessParameters, getAttrCount, getAttrTypes, getOneTimeReadAccess, getOneTimeWriteAccess, getPropertyType, getReadAccess, getStructureName, getWriteAccess, 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 Object matrix
java.lang.reflect.Array
.
Array
protected String sizeDesc
String
der Form
"(d1,d2,d3,...)
.
Constructor Detail |
---|
public MatrixProperty(String name, int[] size, ValuePropertyType elementType, ValuePropertyAccessParameters params)
size
-Arrays gegeben
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionelementType
- Matrix kann nur Elemente dieses Daten-Typs aufnehmenparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public MatrixProperty(String name, int[] size, ValuePropertyType elementType)
size
-Arrays gegeben.
Der Zugriff auf die Eigenschaft ist uneingeschraengt (beliebig viele
Lese- und beliebig viele Schreibrechte).
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionelementType
- Matrix kann nur Elemente dieses Daten-Typs aufnehmenValuePropertyAccessParameters.UNLIMITED_ACCESS
public MatrixProperty(String name, int[] size, Class elementType, ValuePropertyAccessParameters params)
size
-Arrays gegeben
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionelementType
- Matrix kann nur Elemente dieses Daten-Typs aufnehmenparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public MatrixProperty(String name, int[] size, Class elementType)
size
-Arrays gegeben.
Der Zugriff auf die Eigenschaft ist uneingeschraengt (beliebig viele
Lese- und beliebig viele Schreibrechte).
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionelementType
- Matrix kann nur Elemente dieses Daten-Typs aufnehmenValuePropertyAccessParameters.UNLIMITED_ACCESS
public MatrixProperty(String name, int[] size, ObjectStructure sample, ValuePropertyAccessParameters params)
size
-Arrays gegeben
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder Dimensionsample
- Matrix kann nur Elemente dieser Struktur aufnehmenparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public MatrixProperty(String name, int[] size, ObjectStructure sample)
size
-Arrays gegeben.
Der Zugriff auf die Eigenschaft ist uneingeschraengt (beliebig viele
Lese- und beliebig viele Schreibrechte).
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder Dimensionsample
- Matrix kann nur Elemente dieser Struktur aufnehmenValuePropertyAccessParameters.UNLIMITED_ACCESS
public MatrixProperty(String name, int[] size, Object sampleData, ValuePropertyAccessParameters params)
size
-Arrays gegeben
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionsampleData
- Bestimmt die Element-Struktur, die in der MatrixProperty
gespeichert werden kann (das Objekt wird nicht
in die Matrix aufgenommen!!)params
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public MatrixProperty(String name, int[] size, Object sampleData)
size
-Arrays gegeben.
Der Zugriff auf die Eigenschaft ist uneingeschraengt (beliebig viele
Lese- und beliebig viele Schreibrechte).
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionsampleData
- Bestimmt die Element-Struktur, die in der MatrixProperty
gespeichert werden kann (das Objekt wird nicht
in die Matrix aufgenommen!!)ValuePropertyAccessParameters.UNLIMITED_ACCESS
public MatrixProperty(String name, int[] size, ValuePropertyAccessParameters params)
java.lang.Object
abgeleitet sind
(also keine Build-in-Types!!). Die Dimension der Matrix ist implizit
durch die Größe des size
-Arrays gegeben
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder Dimensionparams
- Parameter fuer die Verwaltung des ZugriffsrechtsValuePropertyAccessParameters
public MatrixProperty(String name, int[] size)
java.lang.Object
abgeleitet sind
(also keine Build-in-Types!!). Die Dimension der Matrix ist implizit
durch die Größe des size
-Arrays gegeben.
Der Zugriff auf die Eigenschaft ist uneingeschraengt (beliebig viele
Lese- und beliebig viele Schreibrechte).
name
- Name der Eigenschaftsize
- Groesse der Matrix in jeder DimensionValuePropertyAccessParameters.UNLIMITED_ACCESS
Method Detail |
---|
public void dispose()
null
gesetzt wird.
dispose
in class Property
public MatrixProperty cloneStructure()
MatrixProperty
mit identischem
Namen, Typ, geleicher Groesse und gleichen Zugriffsparemetern.
cloneStructure
in class Property
protected Object getValue(int... coords)
getValue
in class ValueProperty
coords
- Position (Koordinaten) der Matrix
UnsupportedOperationException
- falls die Anzahl der
Koordinaten nicht genau der Matrix-Dimension entsprichtprotected void setValue(Object value, int... coords)
ObjectChangeEvent
fuer die Liste.
setValue
in class ValueProperty
value
- Wert fuer das Matrix-Elementcoords
- Position (Koordinaten) der Matrix
UnsupportedOperationException
- falls die Anzahl der
Koordinaten nicht genau der Matrix-Dimension entspricht
ClassCastException
- falls das angegebene Objekt nicht
zum Property-Typ passtpublic int getDimension()
public int getSize(int dim)
dim
- Index der Dimension (beginnend bei 0)public int[] getSize()
public String getSizeText()
public boolean containsMultipleValues()
true
, da eine Matrix-Eigenschaft immer
aus mehreren Werten besteht.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |