public class MapTable
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
MapTable.compareLHS |
class |
MapTable.compareRHS |
class |
MapTable.compareStreamLHS |
class |
MapTable.compareStreamRHS |
Modifier and Type | Field and Description |
---|---|
int |
caseMode |
int |
count |
java.lang.String |
emptyReason |
MapItem |
entry |
boolean |
hasAndmaps |
boolean |
hasHavemaps |
boolean |
hasMaps |
boolean |
hasOverlays |
boolean |
joinError |
MapTree[] |
trees |
Constructor and Description |
---|
MapTable() |
Modifier and Type | Method and Description |
---|---|
MapItem |
check(MapTableT dir,
java.lang.String from) |
void |
clear() |
int |
countByFlag(MapFlag mapFlag) |
void |
disambiguate()
MapTable::Disambiguate() - handle un/ambiguous mappings
|
void |
dump(java.lang.StringBuffer buf,
java.lang.String trace,
int fmt) |
void |
dumpTree(java.lang.StringBuffer buf,
MapTableT dir,
java.lang.String trace) |
MapItemArray |
explode(MapTableT dir,
java.lang.String from) |
MapItem |
get(int n) |
MapFlag |
getFlag(MapItem m) |
MapItem |
getNext(MapItem m) |
int |
getSlot(MapItem m) |
java.lang.String |
getStr(MapItem m,
MapTableT dir) |
boolean |
hasAndmaps() |
boolean |
hasHavemaps() |
boolean |
hasOverlays() |
void |
insert(MapTable table,
boolean fwd,
boolean rev) |
void |
insert(java.lang.String lhs,
int slot,
java.lang.String rhs,
MapFlag mapFlag) |
void |
insert(java.lang.String lhs,
java.lang.String rhs,
MapFlag mapFlag) |
void |
insertByPattern(java.lang.String lhs,
java.lang.String rhs,
MapFlag mapFlag) |
void |
insertNoDups(java.lang.String lhs,
java.lang.String rhs,
MapFlag mapFlag) |
boolean |
isEmpty() |
boolean |
isSingle() |
void |
join(MapTable m1,
MapTableT dir1,
MapTable m2,
MapTableT dir2,
MapJoiner j,
java.lang.String reason) |
MapTable |
join(MapTableT dir1,
MapTable m2,
MapTableT dir2) |
MapTable |
join(MapTableT dir1,
MapTable m2,
MapTableT dir2,
java.lang.String reason) |
MapTable |
join2(MapTableT dir1,
MapTable m2,
MapTableT dir2) |
MapTable |
join2(MapTableT dir1,
MapTable m2,
MapTableT dir2,
java.lang.String reason) |
boolean |
joinCheck(MapTableT dir,
MapTable c,
MapTableT dir2) |
boolean |
joinCheck(MapTableT dir,
java.lang.String lhs) |
boolean |
joinError() |
void |
joinOptimizer(MapTableT dir2) |
boolean |
match(MapHalf l,
java.lang.String rhs) |
boolean |
match(java.lang.String lhs,
java.lang.String rhs) |
void |
remove(int slotNum) |
void |
reverse() |
MapTable |
set(MapTable f) |
void |
setCaseSensitivity(int mode) |
java.util.ArrayList<MapItem> |
sort(MapTableT direction) |
java.util.ArrayList<MapItem> |
sort(MapTableT direction,
boolean streamFlag) |
MapStrings |
strings(MapTableT direction) |
MapTable |
stripMap(MapFlag mapFlag) |
MapTable |
swap(MapTable table) |
java.lang.String |
translate(MapItem m,
MapTableT dir,
java.lang.String from) |
MapWrap |
translate(MapTableT dir,
java.lang.String from) |
void |
validate(java.lang.String lhs,
java.lang.String rhs) |
boolean |
validDepotMap(java.lang.String map) |
void |
validHalf(MapTableT dir) |
public int count
public MapItem entry
public boolean hasMaps
public boolean hasOverlays
public boolean hasHavemaps
public boolean hasAndmaps
public java.lang.String emptyReason
public boolean joinError
public int caseMode
public MapTree[] trees
public boolean isEmpty()
public boolean joinError()
public boolean hasOverlays()
public boolean hasHavemaps()
public boolean hasAndmaps()
public void clear()
public void setCaseSensitivity(int mode)
public void reverse()
public void insert(MapTable table, boolean fwd, boolean rev)
public void insert(java.lang.String lhs, java.lang.String rhs, MapFlag mapFlag)
public void insert(java.lang.String lhs, int slot, java.lang.String rhs, MapFlag mapFlag)
public void insertNoDups(java.lang.String lhs, java.lang.String rhs, MapFlag mapFlag)
public void remove(int slotNum)
public void validate(java.lang.String lhs, java.lang.String rhs) throws java.lang.Exception
java.lang.Exception
public void validHalf(MapTableT dir) throws java.lang.Exception
java.lang.Exception
public void dump(java.lang.StringBuffer buf, java.lang.String trace, int fmt)
public void dumpTree(java.lang.StringBuffer buf, MapTableT dir, java.lang.String trace)
public boolean isSingle()
public MapStrings strings(MapTableT direction)
public MapItemArray explode(MapTableT dir, java.lang.String from)
public boolean match(MapHalf l, java.lang.String rhs)
public boolean match(java.lang.String lhs, java.lang.String rhs)
public boolean validDepotMap(java.lang.String map)
public MapItem get(int n)
public int getSlot(MapItem m)
public int countByFlag(MapFlag mapFlag)
public void insertByPattern(java.lang.String lhs, java.lang.String rhs, MapFlag mapFlag)
public void disambiguate()
Mappings provided by the user (client views, branch views) can be ambiguous since later mappings can override earlier ones. Disambiguate() adds explicit exclusion (-) mappings for any ambiguous mappings, so that Join() and Translate() don't have to worry about them.
For example:
a/... b/... a/c b/d
becomes
a/... b/... -a/c -b/c -a/d -b/d a/c b/d
Unmaps are handled similarly, but the high precedence unmap line itself is not added, because everything that can be unmapped has been done so by joining it against the lower precedence mapping lines:
a/... b/... -a/c b/d
becomes
a/... b/... -a/c -b/c -a/d -b/d
public boolean joinCheck(MapTableT dir, java.lang.String lhs)
public void joinOptimizer(MapTableT dir2)
public void join(MapTable m1, MapTableT dir1, MapTable m2, MapTableT dir2, MapJoiner j, java.lang.String reason)