Package org.spongepowered.api.state
Interface StateMatcher.Builder<S extends State<S>,T extends StateContainer<S>>
- All Superinterfaces:
AbstractBuilder<StateMatcher<S>>
,Builder<StateMatcher<S>,
,StateMatcher.Builder<S, T>> CopyableBuilder<StateMatcher<S>,
,StateMatcher.Builder<S, T>> ResettableBuilder<StateMatcher<S>,
StateMatcher.Builder<S, T>>
- Enclosing interface:
StateMatcher<S extends State<S>>
public static interface StateMatcher.Builder<S extends State<S>,T extends StateContainer<S>>
extends Builder<StateMatcher<S>,StateMatcher.Builder<S,T>>, CopyableBuilder<StateMatcher<S>,StateMatcher.Builder<S,T>>
A builder for
StateMatcher
s.-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds aStateMatcher
.matcher
(KeyValueMatcher<?> matcher) Adds aKeyValueMatcher
that theState
needs to match with.default <V extends Comparable<V>>
StateMatcher.Builder<S, T> stateProperty
(Supplier<? extends StateProperty<V>> stateProperty, V value) Adds aStateProperty
and value that needs to match on aState
to match.<V extends Comparable<V>>
StateMatcher.Builder<S, T> stateProperty
(StateProperty<V> stateProperty, V value) Adds aStateProperty
and value that needs to match on aState
to match.default StateMatcher.Builder
<S, T> supportsStateProperty
(Supplier<? extends StateProperty<? extends @NonNull Object>> stateProperty) Adds aStateProperty
that needs to be present on aState
to match.supportsStateProperty
(StateProperty<? extends @NonNull Object> stateProperty) Adds aStateProperty
that needs to be present on aState
to match.default StateMatcher.Builder
<S, T> Sets the rootStateContainer
for theStateMatcher
.Sets the rootStateContainer
for theStateMatcher
.Methods inherited from interface org.spongepowered.api.util.CopyableBuilder
from
-
Method Details
-
type
Sets the rootStateContainer
for theStateMatcher
.- Parameters:
type
- TheStateContainer
to use- Returns:
- This builder, for chaining
-
type
Sets the rootStateContainer
for theStateMatcher
.- Parameters:
type
- TheStateContainer
to use- Returns:
- This builder, for chaining
-
supportsStateProperty
StateMatcher.Builder<S,T> supportsStateProperty(StateProperty<? extends @NonNull Object> stateProperty) Adds aStateProperty
that needs to be present on aState
to match.type(StateContainer)
ortype(Supplier)
must be called before this is called as supportedstate properties
are specific to the type- Parameters:
stateProperty
- The state property- Returns:
- This builder, for chaining
-
supportsStateProperty
default StateMatcher.Builder<S,T> supportsStateProperty(Supplier<? extends StateProperty<? extends @NonNull Object>> stateProperty) Adds aStateProperty
that needs to be present on aState
to match.type(StateContainer)
ortype(Supplier)
must be called before this is called as supportedstate properties
are specific to the type- Parameters:
stateProperty
- The state property- Returns:
- This builder, for chaining
-
stateProperty
<V extends Comparable<V>> StateMatcher.Builder<S,T> stateProperty(StateProperty<V> stateProperty, V value) Adds aStateProperty
and value that needs to match on aState
to match.type(StateContainer)
ortype(Supplier)
must be called before this is called as supportedstate properties
are specific to the type- Type Parameters:
V
- The value type- Parameters:
stateProperty
- The state propertyvalue
- The value to match- Returns:
- This builder, for chaining
-
stateProperty
default <V extends Comparable<V>> StateMatcher.Builder<S,T> stateProperty(Supplier<? extends StateProperty<V>> stateProperty, V value) Adds aStateProperty
and value that needs to match on aState
to match.- Type Parameters:
V
- The value type- Parameters:
stateProperty
- The state propertyvalue
- The value to match- Returns:
- This builder, for chaining
-
matcher
Adds aKeyValueMatcher
that theState
needs to match with.- Parameters:
matcher
- The matcher- Returns:
- This builder, for chaining
-
build
StateMatcher<S> build()Builds aStateMatcher
.- Specified by:
build
in interfaceAbstractBuilder<S extends State<S>>
- Returns:
- The built state matcher
-