|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.erights.e.elib.tables.EMap | +--org.erights.e.elib.tables.ROMap
A ROMap gives read-only access to an underlying potentially mutable map.
Field Summary | |
private FlexMap |
myPrecious
|
(package private) static long |
serialVersionUID
|
Fields inherited from class org.erights.e.elib.tables.EMap |
|
Fields inherited from interface org.erights.e.elib.serial.PassByProxy |
HONORARY, HONORED_NAMES |
Fields inherited from interface org.erights.e.elib.serial.Persistent |
HONORARY, HONORED_NAMES |
Constructor Summary | |
(package private) |
ROMap(FlexMap precious)
Callers *MUST* be sure to hand in the only reference to this map. |
Method Summary | |
void |
__printOn(TextWriter out)
Not transparently forwarded. |
FlexMap |
diverge(Class keyType,
Class valueType)
Enabled: Returns a FlexMap whose initial state is a snapshot of the state of this map at the time of the diverge() request. |
ESet |
domain()
Enabled: Returns a set providing a read-only view of the domain of this map. |
Object |
get(Object key,
Object instead)
Enabled: What value does 'key' map to? Returns 'instead' if key doesn't map to anything. |
Object |
getKeys(Class type)
Enabled: Returns a divergent array-of-type of all the keys in order. |
Object[] |
getPair()
Enabled: Returns a pair (a two element list) of the results of getKeys() and getValues(). |
Object[] |
getPair(Class keyType,
Class valueType)
Enabled: Returns a pair (a two element list) of the results of getKeys(keyType) and getValues(valueType). |
Object |
getValues(Class type)
Enabled: Returns a divergent array-of-type of all the values in order. |
void |
iterate(AssocFunc func)
Enabled: Call 'func' with each key-value pair in the table, in order. |
Class |
keyType()
Enabled: All keys in this map must be of this type. |
SealedBox |
optSealedDispatch(Brand brand)
Divulges itself only to a holder of org.erights.e.elib.serial.PersistentKeyHolder#THE_UNSEALER . |
EMap |
readOnly()
Enabled: Returns a read-only facet on this map. |
int |
size()
Enabled: How many entries are in the table? |
ConstMap |
snapshot()
Enabled: Returns a ConstMap whose state is a snapshot of the state of this map at the time of the snapshot() request. |
Class |
valueType()
Enabled: All values in this map must be of this type |
Methods inherited from class org.erights.e.elib.tables.EMap |
and, butNot, contains, diverge, extract, get, getKeys, getValues, intersects, maps, optExtract, or, or, printOn, sortKeys, sortKeys, sortValues, sortValues, toString, with, without |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
static final long serialVersionUID
private final FlexMap myPrecious
Constructor Detail |
ROMap(FlexMap precious)
Method Detail |
public ConstMap snapshot()
EMap
snapshot
in class EMap
public EMap readOnly()
EMap
readOnly
in class EMap
public FlexMap diverge(Class keyType, Class valueType)
EMap
Further changes to the original and/or the new map are independent -- they diverge.
The new map is constrained to only hold associations from 'keyType' to 'valueType'. XXX keyType and valueType should be declared as ValueGuards rather than Classes.
diverge
in class EMap
public ESet domain()
EMap
domain
in class EMap
public int size()
EMap
size
in class EMap
public void iterate(AssocFunc func)
EMap
iterate
in interface Iteratable
iterate
in class EMap
public Object get(Object key, Object instead)
EMap
get
in class EMap
key
- nullOk;instead
- nullOk;
org.erights.e.elib.ref.Ref#isSettled
public Object getKeys(Class type)
EMap
XXX Should 'type' be a ValueGuard rather than a Class?
getKeys
in class EMap
public Object getValues(Class type)
EMap
XXX Should 'type' be a ValueGuard rather than a Class?
getValues
in class EMap
public Object[] getPair()
EMap
Unlike calling them individually, by getting them both together, they are guaranteed to correspond.
getPair
in class EMap
public Object[] getPair(Class keyType, Class valueType)
EMap
Unlike calling them individually, by getting them both together, they are guaranteed to correspond. The default implementation here does just call getKeys(keyType), and then calls getValues(valueType), as that is fine for everything but the WeakValuesMap.
XXX Should keyType and valueType be ValueGuards rather than Classes?
getPair
in class EMap
public Class keyType()
EMap
XXX Should this return a ValueGuard rather than a Class?
keyType
in class EMap
public Class valueType()
EMap
XXX Should this return a ValueGuard rather than a Class?
valueType
in class EMap
public SealedBox optSealedDispatch(Brand brand)
org.erights.e.elib.serial.PersistentKeyHolder#THE_UNSEALER
.
XXX Should provide an optional creation-time parameter of a Sealer to use in addition (or instead?) as a secret divulging channel.
optSealedDispatch
in interface Amplifiable
brand
-
public void __printOn(TextWriter out) throws IOException
"[a => b, ...].diverge().readOnly()"
__printOn
in interface EPrintable
IOException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |