pl.edu.pjwstk.yaod.objects
Class YReference

java.lang.Object
  |
  +--pl.edu.pjwstk.yaod.objects.YObject
        |
        +--pl.edu.pjwstk.yaod.objects.YReference

public class YReference
extends YObject

Klasa, ktorej zadaniem jest dodanie zachowania do statycznych struktur, jakimi sa atomy referencyjne. Atomy referencyjne modeluja referencje - obiekty, ktorych celem jest wskazywanie innych obiektow. Klasa YReference np. powoduje, ze podpiecie do skladu referencji, spowoduje rownoczesne utworzenie referencji zwrotnej w obiekcie wskazywanym. Po usunieciu referencji, referencja zwrotna jest usuwana.

Author:
M. Lentner

Method Summary
 void connect(ObjectID ownerID)
          Podlacza obiekt referencji do podanego obiektu nadrzednego.
 void disconnect()
          Odlacza referencje od skladu (kasuje obiekt).
 ObjectID getValue()
          Zwraca wartość referencji, tzn. identyfikator wskazywanego obiektu.
 void setValue(ObjectID val)
          Ustawia wartosc referencji, tzn. identyfikator wskazywanego obiektu.
 
Methods inherited from class pl.edu.pjwstk.yaod.objects.YObject
getAtom, getBackward, getName, getNextSibling, getOID, getOwner, getPreviousSibling, getServer, reconnect, reconnectAfter, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getValue

public ObjectID getValue()
Zwraca wartość referencji, tzn. identyfikator wskazywanego obiektu.
Returns:
wartość referencji.

setValue

public void setValue(ObjectID val)
Ustawia wartosc referencji, tzn. identyfikator wskazywanego obiektu.
Parameters:
val - nowa wartosc referencji. TODO: modyfikacja referencji zwrotnych !!!

disconnect

public void disconnect()
                throws NoSuchObjectException
Odlacza referencje od skladu (kasuje obiekt). Oprocz usuniecia atomu, powoduje rowniez skasowanie referencji zwrotnej wskazywanego obiektu.
Overrides:
disconnect in class YObject
Returns:
comments
Throws:
XxxxxxException - if ...

connect

public void connect(ObjectID ownerID)
             throws NoSuchObjectException,
                    BlockFreeSpaceException
Podlacza obiekt referencji do podanego obiektu nadrzednego.
Overrides:
connect in class YObject
Parameters:
ownerID - identyfikator obiektu nadrzednego.
Throws:
NoSuchObjectException - nieistniejacy obiekt nadrzedny.