org.eclipse.jgit.util
Class RefMap
java.lang.Object
java.util.AbstractMap<java.lang.String,Ref>
org.eclipse.jgit.util.RefMap
- All Implemented Interfaces:
- java.util.Map<java.lang.String,Ref>
public class RefMap
- extends java.util.AbstractMap<java.lang.String,Ref>
Specialized Map to present a RefDatabase
namespace.
Although not declared as a SortedMap
, iterators from this
map's projections always return references in RefComparator
ordering.
The map's internal representation is a sorted array of Ref
objects,
which means lookup and replacement is O(log N), while insertion and removal
can be as expensive as O(N + log N) while the list expands or contracts.
Since this is not a general map implementation, all entries must be keyed by
the reference name.
This class is really intended as a helper for RefDatabase
, which
needs to perform a merge-join of three sorted RefList
s in order to
present the unified namespace of the packed-refs file, the loose refs/
directory tree, and the resolved form of any symbolic references.
Nested classes/interfaces inherited from class java.util.AbstractMap |
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
Nested classes/interfaces inherited from interface java.util.Map |
java.util.Map.Entry<K,V> |
Constructor Summary |
RefMap()
Construct an empty map with a small initial capacity. |
RefMap(java.lang.String prefix,
RefList<? extends Ref> packed,
RefList<? extends Ref> loose,
RefList<? extends Ref> resolved)
Construct a map to merge 3 collections together. |
Methods inherited from class java.util.AbstractMap |
clear, clone, containsValue, equals, hashCode, keySet, putAll, size, values |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
RefMap
public RefMap()
- Construct an empty map with a small initial capacity.
RefMap
public RefMap(java.lang.String prefix,
RefList<? extends Ref> packed,
RefList<? extends Ref> loose,
RefList<? extends Ref> resolved)
- Construct a map to merge 3 collections together.
- Parameters:
prefix
- prefix used to slice the lists down. Only references whose
names start with this prefix will appear to reside in the map.
Must not be null, use ""
(the empty string) to select
all list items.packed
- items from the packed reference list, this is the last list
searched.loose
- items from the loose reference list, this list overrides
packed
if a name appears in both.resolved
- resolved symbolic references. This list overrides the prior
list loose
, if an item appears in both. Items in this
list must also appear in loose
.
containsKey
public boolean containsKey(java.lang.Object name)
- Specified by:
containsKey
in interface java.util.Map<java.lang.String,Ref>
- Overrides:
containsKey
in class java.util.AbstractMap<java.lang.String,Ref>
get
public Ref get(java.lang.Object key)
- Specified by:
get
in interface java.util.Map<java.lang.String,Ref>
- Overrides:
get
in class java.util.AbstractMap<java.lang.String,Ref>
put
public Ref put(java.lang.String keyName,
Ref value)
- Specified by:
put
in interface java.util.Map<java.lang.String,Ref>
- Overrides:
put
in class java.util.AbstractMap<java.lang.String,Ref>
remove
public Ref remove(java.lang.Object key)
- Specified by:
remove
in interface java.util.Map<java.lang.String,Ref>
- Overrides:
remove
in class java.util.AbstractMap<java.lang.String,Ref>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface java.util.Map<java.lang.String,Ref>
- Overrides:
isEmpty
in class java.util.AbstractMap<java.lang.String,Ref>
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,Ref>> entrySet()
- Specified by:
entrySet
in interface java.util.Map<java.lang.String,Ref>
- Specified by:
entrySet
in class java.util.AbstractMap<java.lang.String,Ref>
toString
public java.lang.String toString()
- Overrides:
toString
in class java.util.AbstractMap<java.lang.String,Ref>
Copyright © 2013. All Rights Reserved.