schmitzm.data.property
Class PropertyReadAccess

java.lang.Object
  extended by schmitzm.data.property.Access
      extended by schmitzm.data.property.PropertyReadAccess
Direct Known Subclasses:
ListPropertyReadAccess, PropertyWriteAccess

public class PropertyReadAccess
extends Access

Diese Klasse stellt ein Recht auf Lesezugriff fuer eine ValueProperty dar. Hierzu implementiert sie die entsprechenden getter-Methoden.

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

Field Summary
 
Fields inherited from class schmitzm.data.property.Access
accessTimes, disposed, maxAccessTimes, object, owner, UNLIMITED_ACCESSTIMES
 
Constructor Summary
PropertyReadAccess(Accessible object, Object owner)
          Erzeugt ein neues Lesezugriffsrecht.
PropertyReadAccess(Accessible object, Object owner, int maxAccessTimes)
          Erzeugt ein neues Lesezugriffsrecht.
 
Method Summary
 Object getValue(int... coords)
          Liefert den/einen Wert der Eigenschaft.
 boolean getValueAsBoolean(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als boolean.
 byte getValueAsByte(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als byte.
 char getValueAsChar(int... coords)
          Liefert den/einen Wert der Eigenschaft als char.
 double getValueAsDouble(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als double.
 float getValueAsFloat(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als float.
 int getValueAsInt(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als int.
 long getValueAsLong(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als long.
 short getValueAsShort(int... coords)
          Liefert den/einen aktuellen Wert der Eigenschaft als short.
 
Methods inherited from class schmitzm.data.property.Access
checkDisposed, dispose, equals, getAccessTimes, getMaxAccessTimes, getOwner, incAndCheckMaxAccessTimesReached, isDisposed, release
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyReadAccess

public PropertyReadAccess(Accessible object,
                          Object owner)
Erzeugt ein neues Lesezugriffsrecht. Die Anzahl an Zugriffen fuer den Besitzer ist unbegrenzt.

Parameters:
object - Instanz von ValueProperty auf die sich das Recht bezieht
owner - Besitzer des Rechts
Throws:
AccessViolationException - falls das angegebene Objekt keine ValueProperty ist
See Also:
ValueProperty

PropertyReadAccess

public PropertyReadAccess(Accessible object,
                          Object owner,
                          int maxAccessTimes)
Erzeugt ein neues Lesezugriffsrecht.

Parameters:
object - Instanz von ValueProperty auf die sich das Recht bezieht
owner - Besitzer des Rechts
maxAccessTimes - Anzahl an (Methoden-)Zugriffen, die der Rechtebesitzer taetigen darf, bevor das Recht automatisch entzogen wird
Throws:
AccessViolationException - falls das angegebene Objekt keine ValueProperty ist
See Also:
ValueProperty
Method Detail

getValue

public Object getValue(int... coords)
Liefert den/einen Wert der Eigenschaft.
coords spezifizieren (optional) die "Koordinaten", an denen der Wert in der Eigenschaft zu finden ist. Fuer skalare Eigenschaften darf/braucht diese Angabe nicht gemacht zu werden. Fuer Listen und 1-dim. Matrizen (Arrays) darf nur ein Wert angegeben werden. Fuer mehr-dimensionale Matrizen muessen entsprechend der Dimension mehr Koordinaten angegeben werden (als einzelne Parameter oder als ein Array). z.B. fuer 2-dim. Matrix:
getValue(10,13) oder getValue( new int[] {10,13} )

Kann (seit JDK1.5.0) auch genutzt werden, wenn es sich bei der Property um einen Build-in-Type handelt.

Parameters:
coords - optionale Koordinaten
Throws:
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist

getValueAsChar

public char getValueAsChar(int... coords)
Liefert den/einen Wert der Eigenschaft als char. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine char-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsShort

public short getValueAsShort(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als short. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine short-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsByte

public byte getValueAsByte(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als byte. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine byte-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsInt

public int getValueAsInt(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als int. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine int-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsLong

public long getValueAsLong(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als long. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine long-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsFloat

public float getValueAsFloat(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als float. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine float-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsDouble

public double getValueAsDouble(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als double. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine double-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)

getValueAsBoolean

public boolean getValueAsBoolean(int... coords)
Liefert den/einen aktuellen Wert der Eigenschaft als boolean. Kann nur genutzt werden, wenn der Objekt-Typ ein Build-In-Type ist.

Parameters:
coords - (optionale) Koordinaten (siehe getValue(..) fuer Erlaeuterungen)
Throws:
ClassCastException - falls es sich nicht um eine boolean-Property handelt.
AccessViolationException - falls das Leserecht auf der Property nicht mehr gueltig ist
See Also:
getValue(int...)