public interface IDesignSpace
This is the abstract interface of a designs space representation.
A design space
is storing states
and transitions
that
interconnect. A transition is either an incoming or an outgoing transition with regard to a state. Every state except
the first (referred to as "root state") has at least one incoming transition, and can have any number of outgoing
transitions.
For statistics about the design space itself the getNumberOfStates()
and getNumberOfTransitions()
methods can be used.
Multithreading
If parallel processing is enabled, (which is the default case) the ITransition
and IState
interface
implementations must be thread safe. In this case the locking mechanism
must
also be used to avoid race conditions.
Modifier and Type | Method and Description |
---|---|
void |
addDesignSpaceChangedListener(IDesignSpaceChangeHandler changeEvent) |
void |
addRoot(IState root)
Adds root (an
IState without initial inTransition) to the design space. |
boolean |
addState(ITransition sourceTransition,
java.lang.Object newStateId,
java.util.Map<java.lang.Object,TransitionMetaData> outgoingTransitionIds) |
long |
getNumberOfStates() |
long |
getNumberOfTransitions() |
IState[] |
getRoot()
Returns the root states (
IState without initial inTransition). |
IState |
getStateById(java.lang.Object id) |
void |
removeDesignSpaceChangedListener(IDesignSpaceChangeHandler changeEvent) |
void |
saveDesignSpace(java.lang.String fileName) |
IState[] getRoot()
IState
without initial inTransition).void addRoot(IState root)
IState
without initial inTransition) to the design space.root
- boolean addState(ITransition sourceTransition, java.lang.Object newStateId, java.util.Map<java.lang.Object,TransitionMetaData> outgoingTransitionIds)
sourceStateId
- sourceTransitionId
- newStateId
- outgoingTransitionIds
- IState getStateById(java.lang.Object id)
long getNumberOfStates()
long getNumberOfTransitions()
void saveDesignSpace(java.lang.String fileName) throws java.io.IOException
java.io.IOException
void addDesignSpaceChangedListener(IDesignSpaceChangeHandler changeEvent)
void removeDesignSpaceChangedListener(IDesignSpaceChangeHandler changeEvent)