java.lang.Object
org.yamcs.utils.parser.Filter<T>
- Direct Known Subclasses:
EventFilter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddBinaryField(String field, Function<T, byte[]> resolver) protected voidaddBooleanField(String field, Function<T, Boolean> resolver) protected <E extends Enum<?>>
voidaddEnumField(String field, Class<E> enumClass, Function<T, E> resolver) protected voidaddNumberField(String field, Function<T, Number> resolver) protected voidaddPrefixField(String field, BiFunction<T, String, String> resolver) protected voidaddStringField(String field, Function<T, String> resolver) voidbeforeItem(T item) Called for each new item, before any comparisons.booleanTrue if the parsed query includes at least one text search.booleanisQueryField(String field) True if the provided field is part of the parsed query.booleanprotected abstract booleanmatchesLiteral(T item, String lowercaseLiteral) Implementatinos must search the provided item for the given literal in a manner that makes sense to the type of item.voidparse()
-
Constructor Details
-
Filter
-
-
Method Details
-
parse
- Throws:
ParseException
-
isQueryField
True if the provided field is part of the parsed query.This method should only be used after
parse()is called. -
includesTextSearch
public boolean includesTextSearch()True if the parsed query includes at least one text search.This method should only be used after
parse()is called. -
addPrefixField
-
addStringField
-
addEnumField
-
addNumberField
-
addBooleanField
-
addBinaryField
-
matches
-
beforeItem
Called for each new item, before any comparisons.The default implementation does nothing, concrete classes may override to hook any initialization logic.
-
printExpression
-
matchesLiteral
Implementatinos must search the provided item for the given literal in a manner that makes sense to the type of item. Search should be exact and case-insensitive.- Parameters:
item- Item to matchlowercaseLiteral- A search string. Always lowercase.
-