
software.amazon.event.ruler.SingleStateNameMatcher Maven / Gradle / Ivy
package software.amazon.event.ruler;
import javax.annotation.Nonnull;
/**
* Implements the { [ "exists" : false] } pattern by performing a binary search
* of the key in the event keys.
*/
public class SingleStateNameMatcher implements NameMatcher {
/**
* We only have one pattern for name matcher today. Hence, we can just keep
* a single state here for simplicity. In the future, when multiple patterns
* come here, we need a byte match.
*/
private NameState nameState;
@Override
public boolean isEmpty() {
return nameState == null;
}
@Override
public NameState addPattern(@Nonnull final Patterns pattern, final NameState nameState) {
if (this.nameState == null) {
this.nameState = nameState;
}
return this.nameState;
}
@Override
public void deletePattern(@Nonnull final Patterns pattern) {
nameState = null;
}
@Override
public NameState findPattern(@Nonnull final Patterns pattern) {
return nameState;
}
@Override
public NameState getNextState() {
return nameState;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy