@ParametersAreNonnullByDefault public class SymbolCounterSUL<I,O> extends Object implements StatisticSUL<I,O>
| Constructor and Description |
|---|
SymbolCounterSUL(String name,
SUL<I,O> sul) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canFork()
Returns whether this SUL is capable of
forking. |
SUL<I,O> |
fork()
Forks this SUL, if possible.
|
Counter |
getStatisticalData() |
void |
post()
shut down SUL.
|
void |
pre()
setup SUL.
|
O |
step(I in)
make one step on the SUL.
|
public void pre()
SULpublic void post()
SUL@Nullable public O step(@Nullable I in) throws SULException
SULstep in interface SUL<I,O>in - input to the SULSULException@Nonnull public Counter getStatisticalData()
getStatisticalData in interface StatisticSUL<I,O>public boolean canFork()
SULforking.canFork in interface SUL<I,O>true if this SUL can be forked, false otherwiseSUL.fork()public SUL<I,O> fork()
SULSUL.pre() and SUL.post().
If SUL.canFork() returns true, this method must return a non-null
object, which should behave exactly like this SUL (in particular, it must be forkable
as well). Otherwise, a UnsupportedOperationException must be thrown.
Implementation note: if resetting a SUL changes the internal state of this object in a non-trivial way (e.g., incrementing a counter to ensure independent sessions), care must be taken that forks of this SUL manipulate the same internal state.
Copyright © 2015. All rights reserved.