org.apache.commons.workflow.base
Class BaseScope

java.lang.Object
  extended by org.apache.commons.workflow.base.BaseScope
All Implemented Interfaces:
Map, Scope
Direct Known Subclasses:
HttpSessionScope, ServletContextScope, ServletRequestScope

public class BaseScope
extends Object
implements Scope

BaseScope is a basic Scope implementation that maintains its bean collection in an in-memory HashMap. This can also serve as a convenient base class for more sophisticated Scope implementations.

WARNING - No synchronization is performed within this class. If it is used in a multiple thread environment, callers must take suitable precations.

Version:
$Revision: 155475 $ $Date: 2005-02-26 13:31:11 +0000 (Sat, 26 Feb 2005) $
Author:
Craig R. McClanahan

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry
 
Field Summary
protected  HashMap map
          The HashMap that contains our registered keys and beans.
protected  ScopeSupport support
          The event listener support object for this Scope.
 
Constructor Summary
BaseScope()
           
 
Method Summary
 void addScopeListener(ScopeListener listener)
          Add a listener that is notified each time beans are added, replaced, or removed in this scope.
 void clear()
          Remove all beans from this Map and call scopeCleared() on all registered ScopeListeners.
 boolean containsKey(Object key)
          Return true if this map contains the specified key.
 boolean containsValue(Object value)
          Return true if this map contains the specified value.
 Set entrySet()
          Return a set view of the mappings contained in this map.
 boolean equals(Object object)
          Compare the specified object with this map for equality.
 Object get(Object key)
          Return the value to which this map maps the specified key.
 Object get(String key)
          Return the value to which this map maps the specified key.
 int hashCode()
          Return the hash code value for this map.
 boolean isEmpty()
          Return true if this map is empty.
 Set keySet()
          Return a set view of the keys contained in this map.
 Object put(Object key, Object bean)
          Add or replace the bean associated with the specified key.
 Object put(String key, Object bean)
          Add the specified bean, associated with the specified key, to this scope and replace any previous bean associated with this key.
 void putAll(Map in)
          Copy all of the mappings from the specified map into this map, firing appropriate beanAdded() and beanReplaced() events along the way.
 Object remove(Object key)
          Remove the bean associated with the specified key (if any), and return the old value if removed.
 Object remove(String key)
          Remove the bean associated with the specified key (if any).
 void removeScopeListener(ScopeListener listener)
          Remove a listener that is notified each time beans are added, replaced, or removed in this scope.
 int size()
          Return the number of key-value mappings in this map.
 Collection values()
          Return a Collection view of the values contained in this map.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

map

protected HashMap map
The HashMap that contains our registered keys and beans.


support

protected ScopeSupport support
The event listener support object for this Scope.

Constructor Detail

BaseScope

public BaseScope()
Method Detail

clear

public void clear()
Remove all beans from this Map and call scopeCleared() on all registered ScopeListeners.

Specified by:
clear in interface Map
Specified by:
clear in interface Scope

containsKey

public boolean containsKey(Object key)
Return true if this map contains the specified key.

Specified by:
containsKey in interface Map
Parameters:
key - Key to be looked up

containsValue

public boolean containsValue(Object value)
Return true if this map contains the specified value.

Specified by:
containsValue in interface Map
Parameters:
value - Value to be looked up

entrySet

public Set entrySet()
Return a set view of the mappings contained in this map.

Specified by:
entrySet in interface Map

equals

public boolean equals(Object object)
Compare the specified object with this map for equality.

Specified by:
equals in interface Map
Overrides:
equals in class Object
Parameters:
object - Object to be compared

get

public Object get(Object key)
Return the value to which this map maps the specified key.

Specified by:
get in interface Map
Parameters:
key - Key to be looked up

get

public Object get(String key)
Return the value to which this map maps the specified key.

Parameters:
key - Key to be looked up

hashCode

public int hashCode()
Return the hash code value for this map.

Specified by:
hashCode in interface Map
Overrides:
hashCode in class Object

isEmpty

public boolean isEmpty()
Return true if this map is empty.

Specified by:
isEmpty in interface Map

keySet

public Set keySet()
Return a set view of the keys contained in this map.

Specified by:
keySet in interface Map

put

public Object put(Object key,
                  Object bean)
Add or replace the bean associated with the specified key.

Specified by:
put in interface Map
Parameters:
key - Key with which the new value should be associated (cannot be null)
bean - Bean to be associated with this key (cannot be null)

put

public Object put(String key,
                  Object bean)
Add the specified bean, associated with the specified key, to this scope and replace any previous bean associated with this key. If the bean was added, call beanAdded() on all registered listeners after the add is done. If an old bean was replaced, call beanReplaced() (passing the old value in the event) on all registered ScopeListeners after the removal is done. If a bean was replaced, the old value is also returned; otherwise null is returned.

Specified by:
put in interface Scope
Parameters:
key - Key with which the new value should be associated (cannot be null)
bean - Bean to be associated with this key (cannot be null)
Throws:
IllegalArgumentException - if key or bean is null

putAll

public void putAll(Map in)
Copy all of the mappings from the specified map into this map, firing appropriate beanAdded() and beanReplaced() events along the way.

Specified by:
putAll in interface Map
Parameters:
in - Map whose contents are to be added

remove

public Object remove(Object key)
Remove the bean associated with the specified key (if any), and return the old value if removed.

Specified by:
remove in interface Map
Parameters:
key - Key of the bean to remove (cannot be null)

remove

public Object remove(String key)
Remove the bean associated with the specified key (if any). If such a bean is found and removed, call beanRemoved() on all registered ScopeListeners after the removal is done. Return the old value (if any); otherwise return null.

Specified by:
remove in interface Scope
Parameters:
key - Key of the bean to remove (cannot be null)
Throws:
IllegalArgumentException - if key is null

size

public int size()
Return the number of key-value mappings in this map.

Specified by:
size in interface Map

values

public Collection values()
Return a Collection view of the values contained in this map.

Specified by:
values in interface Map

addScopeListener

public void addScopeListener(ScopeListener listener)
Add a listener that is notified each time beans are added, replaced, or removed in this scope.

Specified by:
addScopeListener in interface Scope
Parameters:
listener - The ScopeListener to be added

removeScopeListener

public void removeScopeListener(ScopeListener listener)
Remove a listener that is notified each time beans are added, replaced, or removed in this scope.

Specified by:
removeScopeListener in interface Scope
Parameters:
listener - The ScopeListener to be removed


Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.