Package org.spongepowered.api.data
Interface KeyValueMatcher<V>
-
- Type Parameters:
V
- The value type
- All Superinterfaces:
DataSerializable
public interface KeyValueMatcher<V> extends DataSerializable
Represents a matcher forKey
values.This matcher can only be serialized if the underlying value
KeyValueMatcher
can also be serialized.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
KeyValueMatcher.Builder<V>
A builder to createKeyValueMatcher
s.static class
KeyValueMatcher.Operator
Represents a operator to match the values of a key query.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static KeyValueMatcher.Builder<?>
builder()
Constructs a newKeyValueMatcher.Builder
to createKeyValueMatcher
s.Key<? extends Value<V>>
key()
Gets theKey
that is being used to match key and matcher values.boolean
matches(@Nullable V value)
Checks whether the given value is matched by this matcher.default boolean
matchesContainer(ValueContainer valueContainer)
Checks whether the value of theValueContainer
is matched by this matcher.static <V> KeyValueMatcher<V>
of(Key<? extends Value<V>> key, V value)
Creates aKeyValueMatcher
from the given key and value.static <V> KeyValueMatcher<V>
of(Key<? extends Value<V>> key, V value, KeyValueMatcher.Operator operator)
Creates aKeyValueMatcher
from the given key, value and operator.KeyValueMatcher.Operator
operator()
Gets the operator of the matcher.java.util.Optional<V>
value()
Gets the value of the query.-
Methods inherited from interface org.spongepowered.api.data.persistence.DataSerializable
contentVersion, toContainer
-
-
-
-
Method Detail
-
of
static <V> KeyValueMatcher<V> of(Key<? extends Value<V>> key, V value)
Creates aKeyValueMatcher
from the given key and value. The default operatorKeyValueMatcher.Operator.EQUAL
will be used.- Type Parameters:
V
- The value type- Parameters:
key
- The key of which the value should be matchedvalue
- The matcher value that key values will be matched against- Returns:
- The key value matcher
-
of
static <V> KeyValueMatcher<V> of(Key<? extends Value<V>> key, V value, KeyValueMatcher.Operator operator)
Creates aKeyValueMatcher
from the given key, value and operator.- Type Parameters:
V
- The value type- Parameters:
key
- The key of which the value should be matchedvalue
- The matcher value that key values will be matched againstoperator
- The operator how the value should be matched- Returns:
- The key value matcher
-
builder
static KeyValueMatcher.Builder<?> builder()
Constructs a newKeyValueMatcher.Builder
to createKeyValueMatcher
s.- Returns:
- The builder
-
key
Key<? extends Value<V>> key()
Gets theKey
that is being used to match key and matcher values.- Returns:
- The key
-
operator
KeyValueMatcher.Operator operator()
Gets the operator of the matcher.- Returns:
- The operator
-
value
java.util.Optional<V> value()
Gets the value of the query. A empty optional represents the property not being present.- Returns:
- The value
-
matchesContainer
default boolean matchesContainer(ValueContainer valueContainer)
Checks whether the value of theValueContainer
is matched by this matcher.- Parameters:
valueContainer
- The value container to get the key value from- Returns:
- Whether this matcher matches the key value
-
matches
boolean matches(@Nullable V value)
Checks whether the given value is matched by this matcher.- Parameters:
value
- The key value, a null value represents that the key doesn't exist- Returns:
- Whether this matcher matches the key value
-
-