Class MetaFilter
Allows filtering on meta info.
A filter is uniquely identified by its String representation which is parsed
and matched by the MetaFilter.MetaMatcher
to determine if the Meta
is
allowed or not.
The MetaFilter.DefaultMetaMatcher
interprets the filter as a sequence of any
name-value properties (separated by a space), prefixed by "+" for inclusion
and "-" for exclusion. E.g.:
MetaFilter filter = new MetaFilter( "+author Mauro -theme smoke testing +map *API -skip"); filter.excluded(new Meta(asList("map someAPI")));
The use of the MetaFilter.GroovyMetaMatcher
is triggered by the prefix "groovy:"
and allows the filter to be interpreted as a Groovy expression.
MetaFilter filter = new MetaFilter( "groovy: (a == '11' | a == '22') && b == '33'");
Custom MetaFilter.MetaMatcher
instances can also be provided as a map, indexed
by the prefix used in the filter content:
Map<String, MetaMatcher> customMatchers = new HashMap<>(); customMatchers.put("ruby:", new RubyMetaMatcher()); MetaFilter filter = new MetaFilter("ruby: # some ruby script", customMatchers);
Custom MetaMatcher instances, when they are matched by the prefix of the filter content, will take precedence over the Groovy or default matchers.
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
class
static interface
-
Field Summary
-
Constructor Summary
ConstructorDescriptionMetaFilter
(String filterAsString) MetaFilter
(String filterAsString, Map<String, MetaFilter.MetaMatcher> metaMatchers) MetaFilter
(String filterAsString, EmbedderMonitor monitor) MetaFilter
(String filterAsString, EmbedderMonitor monitor, Map<String, MetaFilter.MetaMatcher> metaMatchers) -
Method Summary
Modifier and TypeMethodDescriptionasString()
protected MetaFilter.MetaMatcher
createMetaMatcher
(String filterAsString, Map<String, MetaFilter.MetaMatcher> metaMatchers) Creates a MetaMatcher based on the filter content.boolean
boolean
isEmpty()
toString()
-
Field Details
-
EMPTY
-
-
Constructor Details
-
MetaFilter
public MetaFilter() -
MetaFilter
-
MetaFilter
-
MetaFilter
-
MetaFilter
public MetaFilter(String filterAsString, EmbedderMonitor monitor, Map<String, MetaFilter.MetaMatcher> metaMatchers)
-
-
Method Details
-
createMetaMatcher
protected MetaFilter.MetaMatcher createMetaMatcher(String filterAsString, Map<String, MetaFilter.MetaMatcher> metaMatchers) Creates a MetaMatcher based on the filter content.- Parameters:
filterAsString
- the String representation of the filtermetaMatchers
- the Map of custom MetaMatchers- Returns:
- A MetaMatcher used to match the filter content
-
excluded
-
metaMatcher
-
asString
-
toString
-
isEmpty
public boolean isEmpty()
-