public class Pruner extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
DNET_URI
All options have to be in this namespace.
|
| Constructor and Description |
|---|
Pruner() |
| Modifier and Type | Method and Description |
|---|---|
<T> T |
anyNotNull(T a,
T b) |
String |
getOption(org.z3950.zing.cql.CQLNode node) |
String |
getOptionUri() |
boolean |
isOption(Map<String,String> prefixes,
org.z3950.zing.cql.CQLNode node) |
boolean |
isOption(Map<String,String> prefixes,
String option) |
String |
prefixFromOption(org.z3950.zing.cql.CQLNode node) |
String |
prefixFromOption(String option) |
eu.dnetlib.functionality.index.query.Pruner.Result |
prune(org.z3950.zing.cql.CQLNode root)
Remove all options from a given CQL AST and return all the options.
|
eu.dnetlib.functionality.index.query.Pruner.Result |
prune(Map<String,String> prefixes,
org.z3950.zing.cql.CQLBooleanNode node)
boolean prunes are handled in the prune(prefix, node, left, right).
|
eu.dnetlib.functionality.index.query.Pruner.Result |
prune(Map<String,String> prefixes,
org.z3950.zing.cql.CQLBooleanNode bool,
org.z3950.zing.cql.CQLNode left,
org.z3950.zing.cql.CQLNode right)
Detects if a left or right side of a boolean node is a option term, and returns the other side (recursively
pruned).
|
eu.dnetlib.functionality.index.query.Pruner.Result |
prune(Map<String,String> prefixes,
org.z3950.zing.cql.CQLNode root)
Actual recursive implementation, dispatches the implementation to the appropriate overloaded method.
|
eu.dnetlib.functionality.index.query.Pruner.Result |
prune(Map<String,String> prefixes,
org.z3950.zing.cql.CQLPrefixNode node)
If the current node is a cql "prefix" node, add his namespace declaration to the current list of namespaces and
return the pruned inner subtree.
|
eu.dnetlib.functionality.index.query.Pruner.Result |
prune(Map<String,String> prefixes,
org.z3950.zing.cql.CQLSortNode node)
If the current node is a cql "sort" node, just return the inner subtree.
|
void |
setOptionUri(String optionUri) |
eu.dnetlib.functionality.index.query.Pruner.Result |
trimOption(Map<String,String> prefixes,
org.z3950.zing.cql.CQLNode a,
org.z3950.zing.cql.CQLNode b)
Trims an option from a boolean node if one if it's sides is an option term.
|
eu.dnetlib.functionality.index.query.Pruner.Result |
trimOption(Map<String,String> prefixes,
String ns,
String o,
org.z3950.zing.cql.CQLNode subtree)
prune(prefixes, bool, left, right) uses this helper method to do the dirty job:
we have to detect if a term node is a term option node.
|
public static final String DNET_URI
public eu.dnetlib.functionality.index.query.Pruner.Result prune(org.z3950.zing.cql.CQLNode root)
root - cql treepublic eu.dnetlib.functionality.index.query.Pruner.Result prune(Map<String,String> prefixes, org.z3950.zing.cql.CQLNode root)
prefixes - root - public eu.dnetlib.functionality.index.query.Pruner.Result prune(Map<String,String> prefixes, org.z3950.zing.cql.CQLSortNode node)
prefixes - node - public eu.dnetlib.functionality.index.query.Pruner.Result prune(Map<String,String> prefixes, org.z3950.zing.cql.CQLPrefixNode node)
prefixes - node - public eu.dnetlib.functionality.index.query.Pruner.Result prune(Map<String,String> prefixes, org.z3950.zing.cql.CQLBooleanNode node)
prefixes - node - public eu.dnetlib.functionality.index.query.Pruner.Result prune(Map<String,String> prefixes, org.z3950.zing.cql.CQLBooleanNode bool, org.z3950.zing.cql.CQLNode left, org.z3950.zing.cql.CQLNode right)
prefixes - bool - left - right - public <T> T anyNotNull(T a,
T b)
public eu.dnetlib.functionality.index.query.Pruner.Result trimOption(Map<String,String> prefixes, org.z3950.zing.cql.CQLNode a, org.z3950.zing.cql.CQLNode b)
prefixes - a - b - public eu.dnetlib.functionality.index.query.Pruner.Result trimOption(Map<String,String> prefixes, String ns, String o, org.z3950.zing.cql.CQLNode subtree)
prefixes - ns - o - subtree - public String getOption(org.z3950.zing.cql.CQLNode node)
public String prefixFromOption(org.z3950.zing.cql.CQLNode node)
public String getOptionUri()
public void setOptionUri(String optionUri)
Copyright © 2019. All rights reserved.