MetaDone
metadone.util.LazySet< E > Class Reference
Inheritance diagram for metadone.util.LazySet< E >:
Collaboration diagram for metadone.util.LazySet< E >:

List of all members.

Classes

class  WriteEvent

Public Member Functions

int size ()
boolean isEmpty ()
boolean contains (Object arg0)
Iterator< E > iterator ()
Object[] toArray ()
boolean add (E arg0)
boolean remove (Object arg0)
boolean containsAll (Collection<?> arg0)
boolean addAll (Collection<?extends E > arg0)
boolean retainAll (Collection<?> arg0)
boolean removeAll (Collection<?> arg0)
void clear ()
void update (Observable subject, Object event)

Static Public Attributes

static WriteEvent writeEvent = new WriteEvent()

Package Functions

 LazySet (Set< E > target)
public< T > T[] toArray (T[] arg0)

Package Attributes

WriteEvent toto

Private Member Functions

void willModifyTarget ()

Private Attributes

Set< E > target
boolean isOriginal

Detailed Description

Author:
ven

Date=30-avr.-2006 - 22:19:42 Filename = LazySet.java

LazySets are smart proxy to Set structures. The proxy is just a reference to the original set as long as the target set is not modified. If any modification occurs, then the link between the proxy and the target is broken and the target set is copied inside the proxy.

The behaviour of the program is not necessary monotonic, indeed, since iterators can continue to reference the original set while the user continues to modify a new set, the program can diverge from its "normal/previous" behaviour (i.e. without LazySet).


Constructor & Destructor Documentation

metadone.util.LazySet< E >.LazySet ( Set< E >  target) [package]

Member Function Documentation

boolean metadone.util.LazySet< E >.add ( arg0)
boolean metadone.util.LazySet< E >.addAll ( Collection<?extends E >  arg0)
void metadone.util.LazySet< E >.clear ( )
boolean metadone.util.LazySet< E >.contains ( Object  arg0)
boolean metadone.util.LazySet< E >.containsAll ( Collection<?>  arg0)
boolean metadone.util.LazySet< E >.isEmpty ( )
Iterator<E> metadone.util.LazySet< E >.iterator ( )
boolean metadone.util.LazySet< E >.remove ( Object  arg0)
boolean metadone.util.LazySet< E >.removeAll ( Collection<?>  arg0)
boolean metadone.util.LazySet< E >.retainAll ( Collection<?>  arg0)
int metadone.util.LazySet< E >.size ( )
public<T> T [] metadone.util.LazySet< E >.toArray ( T[]  arg0) [package]
Object [] metadone.util.LazySet< E >.toArray ( )
void metadone.util.LazySet< E >.update ( Observable  subject,
Object  event 
)
void metadone.util.LazySet< E >.willModifyTarget ( ) [private]

Member Data Documentation

boolean metadone.util.LazySet< E >.isOriginal [private]
Set<E> metadone.util.LazySet< E >.target [private]
WriteEvent metadone.util.LazySet< E >.toto [package]
WriteEvent metadone.util.LazySet< E >.writeEvent = new WriteEvent() [static]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations