Class RulePredicate

    • 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 interface PredicateIF
      • 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 interface PredicateIF
        Throws:
        InvalidQueryException
      • getCost

        public int getCost​(boolean[] boundparams)
        Description copied from interface: PredicateIF
        INTERNAL.
        Specified by:
        getCost in interface PredicateIF
      • 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.