|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.emf.common.util.BasicEMap
A highly extensible map implementation.
Nested Class Summary | |
protected class |
BasicEMap.BasicEMapIterator
An iterator over the map entry data. |
protected class |
BasicEMap.BasicEMapKeyIterator
An iterator over the map key data. |
protected class |
BasicEMap.BasicEMapValueIterator
An iterator over the map value data. |
protected class |
BasicEMap.DelegatingMap
|
static interface |
BasicEMap.Entry
An extended implementation interface for caching hash values and for upating an entry that may be manufactured as a uninitialized instance by a factory. |
protected class |
BasicEMap.EntryImpl
A simple and obvious entry implementation. |
protected static class |
BasicEMap.View
An implementation class to hold the views. |
Nested classes inherited from class org.eclipse.emf.common.util.EMap |
EMap.InternalMapView |
Field Summary | |
protected EList |
delegateEList
The underlying list of entries. |
protected BasicEList[] |
entryData
The array of entry lists into which the hash codes are indexed. |
protected int |
modCount
The modification indicator used to ensure iterator integrity. |
protected int |
size
The size of the map. |
protected BasicEMap.View |
view
The various alternative views of the map. |
Constructor Summary | |
BasicEMap()
Creates an empty instance. |
|
BasicEMap(int initialCapacity)
Creates an empty instance with the given capacity. |
|
BasicEMap(Map map)
Creates an instance that is a copy of the map. |
Method Summary | |
void |
add(int index,
Object object)
Delegates to delegateEList . |
boolean |
add(Object object)
Delegates to delegateEList . |
boolean |
addAll(Collection collection)
Delegates to delegateEList . |
boolean |
addAll(int index,
Collection collection)
Delegates to delegateEList . |
void |
clear()
Delegates to delegateEList . |
Object |
clone()
Returns a shallow copy of this map. |
boolean |
contains(Object object)
Delegates to delegateEList . |
boolean |
containsAll(Collection collection)
Delegates to delegateEList . |
boolean |
containsKey(Object key)
Returns whether the key is associated with a value. |
boolean |
containsValue(Object value)
Returns whether the value is associated with a key. |
protected void |
didAdd(BasicEMap.Entry entry)
Called to indicate that the entry has been added. |
protected void |
didClear(BasicEList[] oldEntryData)
Called to indicate that the map has been cleared. |
protected void |
didModify(BasicEMap.Entry entry,
Object oldValue)
Called to indicate that the entry has an updated value. |
protected void |
didRemove(BasicEMap.Entry entry)
Called to indicate that the entry has been removed. |
protected void |
doClear()
Clears the map. |
protected void |
doMove(BasicEMap.Entry entry)
Increments the modification count. |
protected void |
doPut(BasicEMap.Entry entry)
Adds the new entry to the map. |
protected void |
doRemove(BasicEMap.Entry entry)
Removes the entry from the map. |
protected void |
ensureEntryDataExists()
Ensures that the entry data is created and is populated with contents of the delegate list. |
protected BasicEMap.Entry |
entryForKey(int index,
int hash,
Object key)
Called to return the entry given the index, the hash, and the key. |
protected int |
entryIndexForKey(int index,
int hash,
Object key)
Called to return the entry list index given the index, the hash, and the key. |
Set |
entrySet()
Returns a set view of the entries. |
boolean |
equals(Object object)
|
Object |
get(int index)
Delegates to delegateEList . |
Object |
get(Object key)
Returns the value associated with the key. |
protected boolean |
grow(int minimumCapacity)
Grows the capacity of the map to ensure that no additional growth is needed until the size exceeds the specified minimun capacity. |
int |
hashCode()
|
protected int |
hashOf(Object key)
Called to return the hash code of the key. |
protected int |
indexOf(int hash)
Called to return the entry data index corresponding to the hash code. |
int |
indexOf(Object object)
Delegates to delegateEList . |
int |
indexOfKey(Object key)
Returns the index in the list of the entry with the given key, or -1 , if there is no such entry. |
protected void |
initializeDelegateEList()
Initializes the delegateEList .
|
boolean |
isEmpty()
Returns whether the map has zero size. |
Iterator |
iterator()
Delegates to delegateEList . |
Set |
keySet()
Returns a set view of the keys of the entries. |
int |
lastIndexOf(Object object)
Delegates to delegateEList . |
ListIterator |
listIterator()
Delegates to delegateEList . |
ListIterator |
listIterator(int index)
Delegates to delegateEList . |
Map |
map()
Returns a map view. |
Object |
move(int targetIndex,
int sourceIndex)
Delegates to delegateEList . |
void |
move(int index,
Object object)
Delegates to delegateEList . |
protected BasicEMap.Entry |
newEntry(int hash,
Object key,
Object value)
Returns a new entry. |
protected BasicEList[] |
newEntryData(int capacity)
Returns new allocated entry data storage. |
protected BasicEList |
newList()
Returns a new allocated list of entries. |
Object |
put(Object key,
Object value)
Associates the key with the value and returns the value previously associated with the key, or null .
|
void |
putAll(EMap map)
Puts each Map.Entry of the given map into this one. |
void |
putAll(Map map)
Puts each Map.Entry of the given map into this one. |
protected Object |
putEntry(BasicEMap.Entry entry,
Object value)
Sets the value of the entry, and returns the former value. |
Object |
remove(int index)
Delegates to delegateEList . |
boolean |
remove(Object object)
Delegates to delegateEList . |
boolean |
removeAll(Collection collection)
Delegates to delegateEList . |
protected Object |
removeEntry(int index,
int entryIndex)
Removes the fully indexed entry from the map and returns it's value. |
Object |
removeKey(Object key)
Disassociates the key from its value, and returns the value formerly associated with the key. |
protected Object |
resolve(Object key,
Object value)
Resolves the value associated with the key and returns the result. |
boolean |
retainAll(Collection collection)
Delegates to delegateEList . |
Object |
set(int index,
Object object)
Delegates to delegateEList . |
int |
size()
Returns the number of entries in the map. |
List |
subList(int start,
int end)
Delegates to delegateEList . |
Object[] |
toArray()
Delegates to delegateEList . |
Object[] |
toArray(Object[] array)
Delegates to delegateEList . |
String |
toString()
Delegates to delegateEList . |
protected boolean |
useEqualsForKey()
Returns whether equals rather than == should be used to compare keys.
|
protected boolean |
useEqualsForValue()
Returns whether equals rather than == should be used to compare values.
|
protected void |
validateKey(Object key)
Validates a new key. |
protected void |
validateValue(Object value)
Validates a new key. |
Collection |
values()
Returns a collection view the values of the entries. |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
protected transient EList delegateEList
protected int size
protected transient BasicEList[] entryData
protected transient int modCount
protected transient BasicEMap.View view
Constructor Detail |
public BasicEMap()
public BasicEMap(int initialCapacity)
initialCapacity
- the initial capacity of the map before it must grow.
IllegalArgumentException
- if the initialCapacity
is negative.public BasicEMap(Map map)
map
- the initial contents of the map.Method Detail |
protected void initializeDelegateEList()
delegateEList
.
This implementation illustrates the precise pattern that is used to
delegate a list implementation's callback methods to the map implementation.
protected BasicEList[] newEntryData(int capacity)
capacity
- the capacity of storage needed.
protected void ensureEntryDataExists()
protected BasicEList newList()
newEntry
.
newEntry(int, Object, Object)
protected BasicEMap.Entry newEntry(int hash, Object key, Object value)
validated
and the value is validated
.
Clients may override this to create typed storage.
The type must be kept in synch with newEntry
.
hash
- the cached hash code of the key.key
- the key.value
- the value.
newList()
protected Object putEntry(BasicEMap.Entry entry, Object value)
validated
.
entry
- the entry.value
- the value.
null
.protected boolean useEqualsForKey()
equals
rather than ==
should be used to compare keys.
The default is to return true
but clients can optimize performance by returning false
.
The performance difference is highly significant.
equals
rather than ==
should be used to compare keys.protected boolean useEqualsForValue()
equals
rather than ==
should be used to compare values.
The default is to return true
but clients can optimize performance by returning false
.
The performance difference is highly significant.
equals
rather than ==
should be used to compare values.protected Object resolve(Object key, Object value)
value
;
clients can use this to transform objects as they are fetched.
key
- the key of an entry.value
- the value of an entry.
protected void validateKey(Object key)
key
- the new key.
IllegalArgumentException
- if a constraint prevents the object from being added.protected void validateValue(Object value)
value
- the new value.
IllegalArgumentException
- if a constraint prevents the object from being added.protected void didAdd(BasicEMap.Entry entry)
entry
- the added entry.protected void didModify(BasicEMap.Entry entry, Object oldValue)
entry
- the new entry.protected void didRemove(BasicEMap.Entry entry)
entry
- the removed entry.protected void didClear(BasicEList[] oldEntryData)
didRemove
for each entry;
clients can use this to monitor clearing of the map.
oldEntryData
- the removed entries.public int size()
size
in interface List
public boolean isEmpty()
isEmpty
in interface List
public int indexOfKey(Object key)
EMap
-1
, if there is no such entry.
indexOfKey
in interface EMap
key
- a key.
public boolean containsKey(Object key)
EMap
containsKey
in interface EMap
key
- a key associated with a value.
public boolean containsValue(Object value)
EMap
containsValue
in interface EMap
value
- a value associated with a key.
public Object get(Object key)
EMap
null
.
get
in interface EMap
key
- the key of the value.
public Object put(Object key, Object value)
EMap
null
.
The key, the value, or both may be null
.
Either the existing entry is updated,
or a new entry is added to the end of the list.
put
in interface EMap
key
- the key of the value.value
- the value associated with the key.
null
.protected void doPut(BasicEMap.Entry entry)
entry
- the new entry.public Object removeKey(Object key)
EMap
removeKey
in interface EMap
key
- the key of a value.
protected void doRemove(BasicEMap.Entry entry)
entry
- an entry in the map.protected Object removeEntry(int index, int entryIndex)
index
- the index in the entry dataentryIndex
- the index in the list of entries.
public void putAll(Map map)
EMap
Map.Entry
of the given map into this one.
putAll
in interface EMap
map
- the map of entries.EMap.put(java.lang.Object, java.lang.Object)
public void putAll(EMap map)
EMap
Map.Entry
of the given map into this one.
putAll
in interface EMap
map
- the map of entries.EMap.put(java.lang.Object, java.lang.Object)
protected void doClear()
protected void doMove(BasicEMap.Entry entry)
public Object clone()
public Map map()
EMap
map
in interface EMap
public Set keySet()
EMap
keySet
in interface EMap
public Collection values()
EMap
values
in interface EMap
public Set entrySet()
EMap
entrySet
in interface EMap
protected int hashOf(Object key)
key
- the key.
protected int indexOf(int hash)
hash
- the hash code.
protected BasicEMap.Entry entryForKey(int index, int hash, Object key)
index
- the entry data index of the key.hash
- the hash code of the key.key
- the key.
protected int entryIndexForKey(int index, int hash, Object key)
index
- the entry data index of the key.hash
- the hash code of the key.key
- the key.
protected boolean grow(int minimumCapacity)
public boolean contains(Object object)
delegateEList
.
contains
in interface List
public boolean containsAll(Collection collection)
delegateEList
.
containsAll
in interface List
public int indexOf(Object object)
delegateEList
.
indexOf
in interface List
public int lastIndexOf(Object object)
delegateEList
.
lastIndexOf
in interface List
public Object[] toArray()
delegateEList
.
toArray
in interface List
public Object[] toArray(Object[] array)
delegateEList
.
toArray
in interface List
public Object get(int index)
delegateEList
.
get
in interface List
public Object set(int index, Object object)
delegateEList
.
set
in interface List
public boolean add(Object object)
delegateEList
.
add
in interface List
public void add(int index, Object object)
delegateEList
.
add
in interface List
public boolean addAll(Collection collection)
delegateEList
.
addAll
in interface List
public boolean addAll(int index, Collection collection)
delegateEList
.
addAll
in interface List
public boolean remove(Object object)
delegateEList
.
remove
in interface List
public boolean removeAll(Collection collection)
delegateEList
.
removeAll
in interface List
public Object remove(int index)
delegateEList
.
remove
in interface List
public boolean retainAll(Collection collection)
delegateEList
.
retainAll
in interface List
public void clear()
delegateEList
.
clear
in interface List
public void move(int index, Object object)
delegateEList
.
move
in interface EList
index
- the position of the object after the move.object
- the object to move.public Object move(int targetIndex, int sourceIndex)
delegateEList
.
move
in interface EList
targetIndex
- the position of the object after the move.sourceIndex
- the position of the object before the move.
public Iterator iterator()
delegateEList
.
iterator
in interface List
public ListIterator listIterator()
delegateEList
.
listIterator
in interface List
public ListIterator listIterator(int index)
delegateEList
.
listIterator
in interface List
public List subList(int start, int end)
delegateEList
.
subList
in interface List
public int hashCode()
hashCode
in interface List
public boolean equals(Object object)
equals
in interface List
public String toString()
delegateEList
.
|
Copyright 2001-2006 IBM Corporation and others. All Rights Reserved. |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |