|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IValue
Top level interface for values.
Method Summary | |
---|---|
IValue |
clone(Map<Object,Object> cloneMap)
Deep clone this value. |
boolean |
equals(Object o)
Classes implementing IValue should provide their own
equality tests. |
Type |
getType()
Gets the type of this value. |
int |
getTypeId()
Gets the type id of this value. |
int |
hashCode()
Classes implementing IValue should provide their own
hashing method. |
String |
toString()
Gets the string representation of this value. |
void |
validate(IBogorConfiguration bc)
Freshen references to Bogor model checking components and other non-serializable objects. |
Methods inherited from interface edu.ksu.cis.projects.bogor.util.Disposable |
---|
dispose |
Methods inherited from interface java.lang.Comparable |
---|
compareTo |
Method Detail |
---|
Type getType()
Type.getTypeId()
int getTypeId()
Type.getTypeId()
IValue clone(Map<Object,Object> cloneMap)
cloneMap
- Original values (IValue
) to their clones (
IValue
) mapping. The clone map to solve
circular references in values. If this value is a key in the
map, then this method returns the value of the key in the map.
Must be non-null.
String toString()
toString
in class Object
boolean equals(Object o)
IValue
should provide their own
equality tests.
equals
in class Object
int hashCode()
IValue
should provide their own
hashing method.
hashCode
in class Object
void validate(IBogorConfiguration bc)
Freshen references to Bogor model checking components and other non-serializable objects. Generally, this can be done in a few steps:
Model checking components (IModule
implementations) should be
reacquired by fetching them from the parameter,
bc
:
valueFactory = bc.getValueFactory(); scheduler = bc.getSchedulingStrategist();
Any fields storing Type
objects should be treated as stale, but
still uniquely identifier by their integer typeId
field. This
can be used as a key to look up the correct Type
instances in the
new symbol table's typeId-to-type table:
typeField = bc.getSymbolTable().getTypeIdTypeTable().get(typeField.getTypeId());
Any IValueArray
objects contained can simply be "chained" by
their IValueArray.validate(IBogorConfiguration)
method:
someValueArray.validate(bc);
IValue
objects contained directly should not be handled
manually by this method; they will be dealt with directly when they are visited
later
bc
- The Bogor configuration to validate to.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |