cz.cuni.utils
Class ImmutableFlag<T>

java.lang.Object
  extended by cz.cuni.utils.Flag<T>
      extended by cz.cuni.utils.ImmutableFlag<T>

public class ImmutableFlag<T>
extends Flag<T>

Flag whose value cannot be set.


Nested Class Summary
 
Nested classes/interfaces inherited from class cz.cuni.utils.Flag
Flag.ListenerStore<T>
 
Field Summary
protected  Flag<T> flag
           
 
Fields inherited from class cz.cuni.utils.Flag
immutableWrapper
 
Constructor Summary
ImmutableFlag(Flag<T> flag)
          Creates a new instance of ImmutableFlag
 
Method Summary
 boolean addListener(FlagListener<T> listener)
          Adds new listener to the flag.
 boolean addListener(FlagListener<T> listener, int callListenerWithParam)
          Adds new listener to the flag with specified param.
 void clearListeners()
          Call to clear (remove) all the listeners on the flag.
 T getFlag()
          Returns the value of the flag.
 ImmutableFlag<T> getImmutable()
           
 boolean isListenning(FlagListener<T> listener)
          Checks whether listener is already registered (with any parameter).
 boolean isListenning(FlagListener<T> listener, int listenerParam)
          Checks whether listener is already registered (with specified parameter).
 boolean removeListener(FlagListener<T> listener)
          Removes all registered 'listener' from the flag (doesn't depend on the parameter, all listeners are removed).
 boolean removeListener(FlagListener<T> listener, int listenerParam)
          Removes all registered 'listener' from the flag (with specified listenerParam).
 void setFlag(T newValue)
          Changes the flag and informs all listeners.
 
Methods inherited from class cz.cuni.utils.Flag
main
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

flag

protected Flag<T> flag
Constructor Detail

ImmutableFlag

public ImmutableFlag(Flag<T> flag)
Creates a new instance of ImmutableFlag

Method Detail

addListener

public boolean addListener(FlagListener<T> listener)
Description copied from class: Flag
Adds new listener to the flag. When listener.flagChanged is called, it will pass 0 as listenerParam (see javadoc for FlagListener interface for more explanation).

Overrides:
addListener in class Flag<T>

addListener

public boolean addListener(FlagListener<T> listener,
                           int callListenerWithParam)
Description copied from class: Flag
Adds new listener to the flag with specified param. When listener.flagChanged is called, it will pass the specified param to it, allowing you to differentiate between many flags in one method (see javadoc for FlagListener interface for more explanation)

Overrides:
addListener in class Flag<T>

clearListeners

public void clearListeners()
Description copied from class: Flag
Call to clear (remove) all the listeners on the flag. Should be used when the flag isn't going to be used again to allow GC to collect the listeners (for instance anonymous objects).

Overrides:
clearListeners in class Flag<T>

getFlag

public T getFlag()
Description copied from class: Flag
Returns the value of the flag.

Overrides:
getFlag in class Flag<T>
Returns:
value of the flag

isListenning

public boolean isListenning(FlagListener<T> listener)
Description copied from class: Flag
Checks whether listener is already registered (with any parameter).

Overrides:
isListenning in class Flag<T>
Returns:
true if listener is already registered

isListenning

public boolean isListenning(FlagListener<T> listener,
                            int listenerParam)
Description copied from class: Flag
Checks whether listener is already registered (with specified parameter).

Overrides:
isListenning in class Flag<T>
Returns:
true if listener is registered

removeListener

public boolean removeListener(FlagListener<T> listener)
Description copied from class: Flag
Removes all registered 'listener' from the flag (doesn't depend on the parameter, all listeners are removed).

Overrides:
removeListener in class Flag<T>
Returns:
success (if at least one listener was removed)

removeListener

public boolean removeListener(FlagListener<T> listener,
                              int listenerParam)
Description copied from class: Flag
Removes all registered 'listener' from the flag (with specified listenerParam). Note that ALL 'listener' with 'listenerParam' are removed.

Overrides:
removeListener in class Flag<T>
Returns:
success (if at least one listener was removed)

setFlag

public void setFlag(T newValue)
Description copied from class: Flag
Changes the flag and informs all listeners.

Overrides:
setFlag in class Flag<T>

getImmutable

public ImmutableFlag<T> getImmutable()
Overrides:
getImmutable in class Flag<T>
Returns:
Immutable version of this flag, setFlag(T) method of such a flag will raise an exception.