|
|
||||||||||
| 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 EMappublic EMap readOnly()
EMap
readOnly in class EMap
public FlexMap diverge(Class keyType,
Class valueType)
EMapFurther 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 EMappublic ESet domain()
EMap
domain in class EMappublic int size()
EMap
size in class EMappublic void iterate(AssocFunc func)
EMap
iterate in interface Iteratableiterate in class EMap
public Object get(Object key,
Object instead)
EMap
get in class EMapkey - nullOk;instead - nullOk;
org.erights.e.elib.ref.Ref#isSettledpublic Object getKeys(Class type)
EMapXXX Should 'type' be a ValueGuard rather than a Class?
getKeys in class EMappublic Object getValues(Class type)
EMapXXX Should 'type' be a ValueGuard rather than a Class?
getValues in class EMappublic Object[] getPair()
EMapUnlike calling them individually, by getting them both together, they are guaranteed to correspond.
getPair in class EMap
public Object[] getPair(Class keyType,
Class valueType)
EMapUnlike 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 EMappublic Class keyType()
EMapXXX Should this return a ValueGuard rather than a Class?
keyType in class EMappublic Class valueType()
EMapXXX Should this return a ValueGuard rather than a Class?
valueType in class EMappublic 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 Amplifiablebrand -
public void __printOn(TextWriter out)
throws IOException
"[a => b, ...].diverge().readOnly()"
__printOn in interface EPrintableIOException
|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||