Class TokenTable
java.lang.Object
tech.guilhermekaua.spigotboot.inventoryapi.internal.state.TokenTable
Per-view registry of state tokens. Tokens register during view construction and receive
sequential ids; registration is frozen once the view is registered. Registration and
freezing are expected on a single thread; the frozen flag is volatile so the guard is
visible if the engine freezes from another thread.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfreeze()Freezes this table; furtherregister(StateToken)calls throw.booleanisFrozen()Returns whetherfreeze()was called.intregister(@NotNull StateToken token) Registers a token and assigns its id.intsize()Returns the number of registered tokens.@NotNull List<StateToken>tokens()Returns the registered tokens in id order.
-
Constructor Details
-
TokenTable
public TokenTable()
-
-
Method Details
-
register
Registers a token and assigns its id.- Parameters:
token- the token to register- Returns:
- the assigned sequential id, starting at 0
- Throws:
IllegalStateException- when the table is already frozen
-
freeze
public void freeze()Freezes this table; furtherregister(StateToken)calls throw. -
isFrozen
public boolean isFrozen()Returns whetherfreeze()was called.- Returns:
trueonce frozen
-
size
public int size()Returns the number of registered tokens.- Returns:
- the token count
-
tokens
Returns the registered tokens in id order.- Returns:
- an unmodifiable view of the token list
-