|
||||||||||
| 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 Objectboolean equals(Object o)
IValue should provide their own
equality tests.
equals in class Objectint hashCode()
IValue should provide their own
hashing method.
hashCode in class Objectvoid 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 | |||||||||