|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.jmlspecs.models.JMLValueToEqualsRelation
org.jmlspecs.models.JMLValueToEqualsMap
Maps (i.e., binary relations that are functional) from non-null
elements of JMLType to non-null elements of Object. The first type, JMLType, is called
the domain type of the map; the second type,
Object, is called the range type of the map. A
map can be seen as a set of pairs, of form (dv, rv),
consisting of an element of the domain type, dv, and an
element of the range type, rv. Alternatively, it can be
seen as a function that maps each element of the domain to some of
elements of the range type.
This type is a subtype of JMLValueToEqualsRelation, and as such as can be treated as a
binary relation or a set valued function also. See the
documentation for JMLValueToEqualsRelation and for the
methods inherited from this supertype for more information.
This type considers elements val and dv
of the domain type, to be distinct just when
_val_not_equal_to_dv_. It considers elements of
r and rv of the range type to be distinct
just when _r_not_equal_to_rv_. Cloning takes place for
the domain or range elements if the corresponding domain or range
type is JMLType.
JMLCollection,
JMLType,
JMLValueToEqualsRelation,
JMLValueToEqualsRelationEnumerator,
JMLValueToEqualsRelationImageEnumerator,
JMLValueSet,
JMLObjectSet,
JMLObjectToObjectMap,
JMLValueToObjectMap,
JMLObjectToValueMap,
JMLValueToValueMap,
JMLValueToEqualsRelation.toFunction()| Field Summary | |
static JMLValueToEqualsMap |
EMPTY
The empty JMLValueToEqualsMap. |
| Fields inherited from class org.jmlspecs.models.JMLValueToEqualsRelation |
domain_, imagePairSet_, size_, TOO_BIG_TO_UNION |
| Constructor Summary | |
|
JMLValueToEqualsMap()
Initialize this map to be the empty mapping. |
|
JMLValueToEqualsMap(JMLType dv,
Object rv)
Initialize this map to be a mapping that maps the given domain element to the given range element. |
|
JMLValueToEqualsMap(JMLValueEqualsPair pair)
Initialize this map to be a mapping that maps the key in the given pair to the value in that pair. |
protected |
JMLValueToEqualsMap(JMLValueSet ipset,
JMLValueSet dom,
int sz)
Initialize this map based on the representation values given. |
| Method Summary | |
Object |
apply(JMLType dv)
Return the range element corresponding to dv, if there is one. |
JMLValueToEqualsMap |
clashReplaceUnion(JMLValueToEqualsMap othMap,
Object errval)
Return a new map that is like the union of the given map and this map, except that if both define a mapping for a given domain element, then each of these clashes is replaced by a mapping from the domain element in question to the given range element. |
Object |
clone()
Return a clone of this object. |
JMLObjectToEqualsMap |
compose(JMLObjectToValueMap othMap)
Return a new map that is the composition of this and the given map. |
JMLValueToEqualsMap |
compose(JMLValueToValueMap othMap)
Return a new map that is the composition of this and the given map. |
JMLValueToEqualsMap |
disjointUnion(JMLValueToEqualsMap othMap)
Return a map that is the disjoint union of this and othMap. |
JMLValueToEqualsMap |
extend(JMLType dv,
Object rv)
Return a new map that is like this but maps the given domain element to the given range element. |
JMLValueToEqualsMap |
extendUnion(JMLValueToEqualsMap othMap)
Return a new map that is like the union of the given map and this map, except that if both define a mapping for a given domain element, then only the mapping in the given map is retained. |
boolean |
isaFunction()
Tells whether this relation is a function. |
JMLValueToEqualsMap |
rangeRestrictedTo(JMLEqualsSet rng)
Return a new map that is like this map but only contains associations that map to range elements in the given set. |
JMLValueToEqualsMap |
removeDomainElement(JMLType dv)
Return a new map that is like this but has no association for the given domain element. |
JMLValueToEqualsMap |
restrictedTo(JMLValueSet dom)
Return a new map that only maps elements in the given domain to the corresponding range elements in this map. |
static JMLValueToEqualsMap |
singletonMap(JMLType dv,
Object rv)
Return the singleton map containing the given association. |
static JMLValueToEqualsMap |
singletonMap(JMLValueEqualsPair pair)
Return the singleton map containing the association described by the given pair. |
| Methods inherited from class org.jmlspecs.models.JMLValueToEqualsRelation |
add, associations, compose, compose, difference, domain, domainElements, elementImage, elements, equals, has, has, has, hashCode, image, imagePairs, imagePairSet, insert, int_size, intersection, inverse, inverseElementImage, inverseImage, isDefinedAt, isEmpty, iterator, range, rangeElements, remove, remove, removeFromDomain, restrictDomainTo, restrictRangeTo, singleton, singleton, toBag, toFunction, toSequence, toSet, toString, union |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final JMLValueToEqualsMap EMPTY
JMLValueToEqualsMap()| Constructor Detail |
public JMLValueToEqualsMap()
EMPTY
public JMLValueToEqualsMap(JMLType dv,
Object rv)
singletonMap(JMLType, Object),
JMLValueToEqualsMap(JMLValueEqualsPair)public JMLValueToEqualsMap(JMLValueEqualsPair pair)
singletonMap(JMLValueEqualsPair),
JMLValueToEqualsMap(JMLType, Object)
protected JMLValueToEqualsMap(JMLValueSet ipset,
JMLValueSet dom,
int sz)
| Method Detail |
public static JMLValueToEqualsMap singletonMap(JMLType dv,
Object rv)
JMLValueToEqualsMap(JMLType, Object),
singletonMap(JMLValueEqualsPair)public static JMLValueToEqualsMap singletonMap(JMLValueEqualsPair pair)
JMLValueToEqualsMap(JMLValueEqualsPair),
singletonMap(JMLType, Object)public boolean isaFunction()
isaFunction in class JMLValueToEqualsRelation
public Object apply(JMLType dv)
throws JMLNoSuchElementException
dv - the domain element for which an association is
sought (the key to the table).
JMLNoSuchElementException - when dv is not associated
to any range element by this.JMLValueToEqualsRelation.isDefinedAt(org.jmlspecs.models.JMLType),
JMLValueToEqualsRelation.elementImage(org.jmlspecs.models.JMLType),
JMLValueToEqualsRelation.image(org.jmlspecs.models.JMLValueSet)public Object clone()
JMLValueToEqualsRelation
clone in interface JMLTypeclone in class JMLValueToEqualsRelation
public JMLValueToEqualsMap extend(JMLType dv,
Object rv)
JMLValueToEqualsRelation#insert(JMLType, Object)public JMLValueToEqualsMap removeDomainElement(JMLType dv)
JMLValueToEqualsRelation.removeFromDomain(org.jmlspecs.models.JMLType)public JMLValueToEqualsMap compose(JMLValueToValueMap othMap)
compose(JMLObjectToValueMap)public JMLObjectToEqualsMap compose(JMLObjectToValueMap othMap)
compose(JMLValueToValueMap)public JMLValueToEqualsMap restrictedTo(JMLValueSet dom)
rangeRestrictedTo(org.jmlspecs.models.JMLEqualsSet),
JMLValueToEqualsRelation.restrictDomainTo(org.jmlspecs.models.JMLValueSet)public JMLValueToEqualsMap rangeRestrictedTo(JMLEqualsSet rng)
restrictedTo(org.jmlspecs.models.JMLValueSet),
JMLValueToEqualsRelation.restrictRangeTo(org.jmlspecs.models.JMLEqualsSet)
public JMLValueToEqualsMap extendUnion(JMLValueToEqualsMap othMap)
throws IllegalStateException
IllegalStateExceptionclashReplaceUnion(org.jmlspecs.models.JMLValueToEqualsMap, java.lang.Object),
disjointUnion(org.jmlspecs.models.JMLValueToEqualsMap),
JMLValueToEqualsRelation.union(org.jmlspecs.models.JMLValueToEqualsRelation)
public JMLValueToEqualsMap clashReplaceUnion(JMLValueToEqualsMap othMap,
Object errval)
throws IllegalStateException
othMap - the other map.errval - the range element to use when clashes occur.
IllegalStateExceptionextendUnion(org.jmlspecs.models.JMLValueToEqualsMap),
disjointUnion(org.jmlspecs.models.JMLValueToEqualsMap),
JMLValueToEqualsRelation.union(org.jmlspecs.models.JMLValueToEqualsRelation)
public JMLValueToEqualsMap disjointUnion(JMLValueToEqualsMap othMap)
throws JMLMapException,
IllegalStateException
othMap - the other mapping
JMLMapException - the ranges of this and othMap have elements
in common (i.e., when they interesect).
IllegalStateExceptionextendUnion(org.jmlspecs.models.JMLValueToEqualsMap),
clashReplaceUnion(org.jmlspecs.models.JMLValueToEqualsMap, java.lang.Object),
JMLValueToEqualsRelation.union(org.jmlspecs.models.JMLValueToEqualsRelation)
|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||