public class ViewMap<E extends IMapEntry>
extends java.lang.Object
implements java.lang.Iterable<E>
View maps work in a manner that's described in the main Perforce documentation for the basic client view, but in summary, map entries can be inclusive, exclusive, or overlays, and map entry order is (of course) deeply significant.
This implementation of view maps does not (yet) include advanced Perforce functionality (such as translation or testing the map to see whether a path is mapped or not), but future versions will; the emphasis here is on setting up a common basis for P4Java view maps.
Modifier and Type | Class and Description |
---|---|
static class |
ViewMap.MapDirection |
Constructor and Description |
---|
ViewMap()
Default constructor.
|
ViewMap(java.util.List<E> entryList)
Constructs a new ViewMap from the passed-in entry list.
|
Modifier and Type | Method and Description |
---|---|
void |
addEntry(E entry)
Add a map new entry at the end of the view map.
|
void |
checkEntryList(java.util.List<E> entryList)
Do some sanity checks on the passed-in entry list.
|
void |
deleteEntry(int position)
Delete the entry at the specified position.
|
E |
getEntry(int position)
Get the map entry at the specified position.
|
java.util.List<E> |
getEntryList()
Get the entry list associated with this view map.
|
int |
getSize() |
java.util.Iterator<E> |
iterator() |
void |
setEntry(int position,
E entry)
Set (replace) a specific map position.
|
void |
setEntryList(java.util.List<E> entryList)
Set the entry list associated with this view map.
|
java.lang.String |
translate(java.lang.String from,
ViewMap.MapDirection dir)
MapApi Translate wrapper
|
protected void |
updateEntryListPositions()
Update the entry list entry positions after an update by reassigning entry-internal
positions as appropriate.
|
public ViewMap()
public ViewMap(java.util.List<E> entryList)
entryList
- non-null (but possibly-empty) entry list.public int getSize()
public void deleteEntry(int position)
position
- order of entry to be deletedpublic E getEntry(int position)
position
- list position to usepublic java.util.List<E> getEntryList()
public void addEntry(E entry)
entry
- non-null map entry.public void setEntry(int position, E entry)
Will throw a P4JavaError if order is out of bounds or if the new entry is null. The value of the entry's order field will be set to the order in the entry list; the value of the replaced entry's order field will be set to ORDER_UNKNOWN.
position
- list order of replacemententry
- non-null replacement entrypublic void setEntryList(java.util.List<E> entryList)
entryList
- non-null entry listpublic void checkEntryList(java.util.List<E> entryList)
entryList
- list of entriesprotected void updateEntryListPositions()
public java.util.Iterator<E> iterator()
public java.lang.String translate(java.lang.String from, ViewMap.MapDirection dir)
dir
- The translation directionfrom
- the path to translate