public class FilterGroupProcessor extends Object
This class handles converting each
Constructor and Description |
---|
FilterGroupProcessor() |
Modifier and Type | Method and Description |
---|---|
String |
getFilterGroupValue(Object docOrNode,
List<FilterProcessor> filters,
FilterGroupProcessor filterGroup,
String idFilterMatch,
String isPartOfFilterMatch,
String xPath)
Get the document processor values for the document or node
|
List<FilterProcessor> |
getFilters()
Get all defined filter processors
|
List<LeafElement> |
getLeafs()
Get the 'leaf' elements defined for a filter
|
String |
getMatchElement()
Get the string used to match this filter to an application context description
|
String |
getName()
Set the name of this processor
|
void |
setFilters(List<FilterProcessor> filters)
Get all defined filter processors
|
void |
setLeafs(List<LeafElement> leafs)
Get the 'leaf' elements defined for a filter
|
void |
setMatchElement(String matchElement)
Set the string used to match this filter to an application context description
|
void |
setName(String name)
Get the name of this processor
|
public String getFilterGroupValue(Object docOrNode, List<FilterProcessor> filters, FilterGroupProcessor filterGroup, String idFilterMatch, String isPartOfFilterMatch, String xPath) throws XPathExpressionException
docOrNode
- - An XML document root or sub-node of a DataONE collection documentXPathExpressionException
- This method parses a DataONE collection document and builds a Solr query from the filters defined in the document. The filters define the set of DataONE pids that are of interest to the author of the collection (portal). The Solr query provides a way for client programs to fetch the same set of pids that are defined by the filters.
One example client use case for this Solr 'collectionQuery' field is to retrive all the pids for a collection and run metadata quality scores on them, to allow the portal users to determine the quality of the metadata for their collection.
Note that this method is responsible for parsing/processing all XML elements at the top level of a collection/portal 'definition' (i.e. 'definition/filter', 'definition/numericFilter'), including 'filterGroup' elements. As 'filterGroup' elements can be nested, this method can be called recursively to process to descend into nested filterGroups.
public String getName()
public void setName(String name)
name
- the name of this processorpublic List<LeafElement> getLeafs()
public void setLeafs(List<LeafElement> leafs)
leafs
- the 'leaf' elements defined for a filterpublic List<FilterProcessor> getFilters()
public void setFilters(List<FilterProcessor> filters)
filters
- all defined filter processorspublic String getMatchElement()
public void setMatchElement(String matchElement)
matchElement
- Copyright © 2022. All rights reserved.