schmitzm.data.property
Class PropertyWriteAccess

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

public class PropertyWriteAccess
extends PropertyReadAccess

Diese Klasse stellt ein Recht auf Schreibzugriff fuer eine ValueProperty dar. Hierzu implementiert sie die entsprechenden setter-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
PropertyWriteAccess(Accessible object, Object owner)
          Erzeugt ein neues Schreibzugriffsrecht.
PropertyWriteAccess(Accessible object, Object owner, int maxAccessTimes)
          Erzeugt ein neues Schreibzugriffsrecht.
 
Method Summary
 void setValue(Object value, int... coords)
          Setzt den/einen Wert der Eigenschaft.
 
Methods inherited from class schmitzm.data.property.PropertyReadAccess
getValue, getValueAsBoolean, getValueAsByte, getValueAsChar, getValueAsDouble, getValueAsFloat, getValueAsInt, getValueAsLong, getValueAsShort
 
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

PropertyWriteAccess

public PropertyWriteAccess(Accessible object,
                           Object owner)
Erzeugt ein neues Schreibzugriffsrecht. 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

PropertyWriteAccess

public PropertyWriteAccess(Accessible object,
                           Object owner,
                           int maxAccessTimes)
Erzeugt ein neues Schreibzugriffsrecht.

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

setValue

public void setValue(Object value,
                     int... coords)
Setzt 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. Iniziiert ein ObjectChangeEvent fuer die Property.

Parameters:
value - neuer Wert fuer die Eigenschaft
coords - optionale Koordinaten
Throws:
ClassCastException - falls das angegebene Objekt nicht zum Property-Typ passt
AccessViolationException - falls das Schreibrecht auf der Property nicht mehr gueltig ist