Class RulePredicate
- java.lang.Object
-
- net.ontopia.topicmaps.query.impl.basic.AbstractQueryProcessor
-
- net.ontopia.topicmaps.query.impl.basic.RulePredicate
-
- All Implemented Interfaces:
BasicPredicateIF
,PredicateIF
- Direct Known Subclasses:
RulePredicate
public class RulePredicate extends AbstractQueryProcessor implements BasicPredicateIF
INTERNAL: Implements rule predicates.
-
-
Field Summary
Fields Modifier and Type Field Description protected ParsedRule
rule
protected String
signature
-
Constructor Summary
Constructors Constructor Description RulePredicate(ParsedRule rule)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
List
getClauses()
int
getCost(boolean[] boundparams)
INTERNAL.String
getName()
INTERNAL: Returns the name of the predicate.List
getParameters()
String
getSignature()
INTERNAL: Returns a string representing the signature of the predicate.boolean
replaceable()
INTERNAL: Checks to see if this rule is simply an alias.QueryMatches
satisfy(QueryMatches extmatches, Object[] extarguments)
PredicateClause
translate(List arguments)
INTERNAL: Creates a new PredicateClause representing the content of this rule inlined in an environment where the arguments in the args parameter have been passed to the predicate.-
Methods inherited from class net.ontopia.topicmaps.query.impl.basic.AbstractQueryProcessor
findClauseItems, findClauseVariables, satisfy
-
-
-
-
Field Detail
-
rule
protected ParsedRule rule
-
signature
protected String signature
-
-
Constructor Detail
-
RulePredicate
public RulePredicate(ParsedRule rule)
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:PredicateIF
INTERNAL: Returns the name of the predicate. This will usually be the name of the predicate within its module ('instance-of', '/=', 'starts-with'), but some virtual predicates cannot be reached from the syntax and may return names that will not parse.- Specified by:
getName
in interfacePredicateIF
-
getSignature
public String getSignature() throws InvalidQueryException
Description copied from interface:PredicateIF
INTERNAL: Returns a string representing the signature of the predicate. The string consists of a whitespace-separated list of arguments, where each argument is made up of tokens representing the type or cardinality of that argument.The instance-of predicate would have a signature of "t t", while /= would have ". .", and in would have ". .+". For full details, see topicmaps.impl.utils.ArgumentValidator.
- Specified by:
getSignature
in interfacePredicateIF
- Throws:
InvalidQueryException
-
getCost
public int getCost(boolean[] boundparams)
Description copied from interface:PredicateIF
INTERNAL.- Specified by:
getCost
in interfacePredicateIF
-
satisfy
public QueryMatches satisfy(QueryMatches extmatches, Object[] extarguments) throws InvalidQueryException
- Specified by:
satisfy
in interfaceBasicPredicateIF
- Throws:
InvalidQueryException
-
getClauses
public List getClauses()
-
getParameters
public List getParameters()
-
replaceable
public boolean replaceable()
INTERNAL: Checks to see if this rule is simply an alias. If it is the optimizer can do an inline replacement of it to optimize other rules as well as queries that use it.
-
translate
public PredicateClause translate(List arguments)
INTERNAL: Creates a new PredicateClause representing the content of this rule inlined in an environment where the arguments in the args parameter have been passed to the predicate.
-
-