org.deckfour.xes.model.impl
Class XAttributeMapLazyImpl<T extends XAttributeMap>
java.lang.Object
org.deckfour.xes.model.impl.XAttributeMapLazyImpl<T>
- All Implemented Interfaces:
- Cloneable, Map<String,XAttribute>, XAttributeMap
public class XAttributeMapLazyImpl<T extends XAttributeMap>
- extends Object
- implements XAttributeMap
Lazy implementation of the XAttributeMap interface.
This implementation serves as a proxy for an XAttributeMapImpl instance,
which is initially not present. Once the attribute map is to be filled
with values, the true backing XAttributeMapImpl instance will be created
on the fly, and used for storing and accessing data transparently.
This lazy instantiation prevents lots of initializations of real
attribute maps, since a large amount of attributes do not have
any meta-attributes.
This class is a generic, and can be parametrized with the actual
implementation for the backing storage, which will then be instantiated
on demand. Note that you will also have to pass the Class object of
this implementation to the constructor, since this is required for
instantiation (by Java).
- Author:
- Christian W. Guenther (christian@deckfour.org)
| Nested classes/interfaces inherited from interface java.util.Map |
Map.Entry<K,V> |
XAttributeMapLazyImpl
public XAttributeMapLazyImpl(Class<T> implementingClass)
- Creates a new lazy attribute map instance.
- Parameters:
implementingClass - Class which should be used for
instantiating the backing storage.
getBackingStoreClass
public Class<T> getBackingStoreClass()
- Returns the class used for implementing the
backing store.
- Returns:
- The class used for implementing the
backing store.
clear
public void clear()
- Specified by:
clear in interface Map<String,XAttribute>
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey in interface Map<String,XAttribute>
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue in interface Map<String,XAttribute>
entrySet
public Set<Map.Entry<String,XAttribute>> entrySet()
- Specified by:
entrySet in interface Map<String,XAttribute>
get
public XAttribute get(Object key)
- Specified by:
get in interface Map<String,XAttribute>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface Map<String,XAttribute>
keySet
public Set<String> keySet()
- Specified by:
keySet in interface Map<String,XAttribute>
put
public XAttribute put(String key,
XAttribute value)
- Specified by:
put in interface Map<String,XAttribute>
putAll
public void putAll(Map<? extends String,? extends XAttribute> t)
- Specified by:
putAll in interface Map<String,XAttribute>
remove
public XAttribute remove(Object key)
- Specified by:
remove in interface Map<String,XAttribute>
size
public int size()
- Specified by:
size in interface Map<String,XAttribute>
values
public Collection<XAttribute> values()
- Specified by:
values in interface Map<String,XAttribute>
clone
public Object clone()
- Creates a clone, i.e. deep copy, of this lazy attribute map.
- Specified by:
clone in interface XAttributeMap- Overrides:
clone in class Object
- Returns:
- An identical clone of the attribute map.