Package de.learnlib.filter.reuse.tree
Class ReuseNode<S,I,O>
- java.lang.Object
-
- de.learnlib.filter.reuse.tree.ReuseNode<S,I,O>
-
- Type Parameters:
S
- system state classI
- input symbol classO
- output symbol class
public class ReuseNode<S,I,O> extends Object
AReuseNode
is a vertex in theReuseTree
that contains (a possible empty) set of outgoingReuseEdge
s. EachReuseNode
may contain a system state holding relevant information (e.g. database identifiers or an object) that belongs to the system state that 'represents' the system state after executing a membership query.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReuseNode.NodeResult<S,I,O>
-
Constructor Summary
Constructors Constructor Description ReuseNode(int id, int alphabetSize, int maxSystemStates, BoundedDeque.AccessPolicy accessPolicy, BoundedDeque.EvictPolicy evictPolicy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEdge(int index, ReuseEdge<S,I,O> edge)
@Nullable S
addSystemState(S state)
void
clearSystemStates()
S
fetchSystemState(boolean remove)
The system state, may benull
.Collection<@Nullable ReuseEdge<S,I,O>>
getEdges()
@Nullable ReuseEdge<S,I,O>
getEdgeWithInput(int index)
May benull
.int
getId()
@Nullable ReuseNode<S,I,O>
getTargetNodeForInput(int index)
boolean
hasSystemStates()
Iterator<S>
systemStatesIterator()
-
-
-
Constructor Detail
-
ReuseNode
public ReuseNode(int id, int alphabetSize, int maxSystemStates, BoundedDeque.AccessPolicy accessPolicy, BoundedDeque.EvictPolicy evictPolicy)
-
-
Method Detail
-
fetchSystemState
public S fetchSystemState(boolean remove)
The system state, may benull
.
-
hasSystemStates
public boolean hasSystemStates()
-
clearSystemStates
public void clearSystemStates()
-
getEdges
public Collection<@Nullable ReuseEdge<S,I,O>> getEdges()
Returns all outgoingReuseEdge
s from thisReuseNode
. If there are none the returnedCollection
will be empty (but nevernull
).
-
getId
public int getId()
-
-