public abstract class LazyExtentMap<CLS,E>
extends java.lang.Object
implements java.util.Map<CLS,java.util.Set<E>>
Note that this implementation violates the contract of the
Map
API as follows:
Map.entrySet()
method does not return entries
for any keys that have not already been queried via the
Map.get(java.lang.Object)
methodMap.keySet()
and Map.values()
methods also are not complete
See the Environment
class for a description of the
generic type parameters of this class.
Constructor and Description |
---|
LazyExtentMap(org.eclipse.emf.ecore.EObject context)
Initializes me with the context element of an OCL
expression evaluation.
|
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<CLS,java.util.Set<E>>> |
entrySet() |
boolean |
equals(java.lang.Object obj) |
java.util.Set<E> |
get(java.lang.Object key)
Lazily computes the extent of the specified class
key . |
int |
hashCode() |
boolean |
isEmpty() |
protected abstract boolean |
isInstance(CLS cls,
E element)
Implemented by subclasses to determine whether the specified element
is an instance of the specified class, according to the metamodel
semantics implemented by the environment that created this extent map.
|
java.util.Set<CLS> |
keySet() |
java.util.Set<E> |
put(CLS key,
java.util.Set<E> value) |
void |
putAll(java.util.Map<? extends CLS,? extends java.util.Set<E>> t) |
java.util.Set<E> |
remove(java.lang.Object key) |
int |
size() |
java.lang.String |
toString() |
java.util.Collection<java.util.Set<E>> |
values() |
public LazyExtentMap(org.eclipse.emf.ecore.EObject context)
context
- my context elementpublic java.util.Set<E> get(java.lang.Object key)
key
.protected abstract boolean isInstance(CLS cls, E element)
cls
- a class in the modelelement
- a potential run-time (M0) instance of that classtrue
if this element is an instance of the given
class; false
otherwisepublic boolean containsKey(java.lang.Object key)
public boolean containsValue(java.lang.Object value)
public boolean equals(java.lang.Object obj)
public int hashCode()
public boolean isEmpty()
public java.util.Set<CLS> keySet()
public java.util.Set<E> remove(java.lang.Object key)
public java.lang.String toString()
toString
in class java.lang.Object