Class QueryImpl

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, Wireable, Dialectable, org.kie.api.definition.KieDefinition, org.kie.api.definition.rule.Query, org.kie.api.definition.rule.Rule, org.kie.internal.definition.rule.InternalRule

    public class QueryImpl
    extends RuleImpl
    implements org.kie.api.definition.rule.Query
    See Also:
    Serialized Form
    • Constructor Detail

      • QueryImpl

        public QueryImpl()
      • QueryImpl

        public QueryImpl​(java.lang.String name)
    • Method Detail

      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class RuleImpl
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class RuleImpl
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • isValid

        public boolean isValid()
        Override this as Queries will NEVER have a consequence, and it should not be taken into account when deciding if it is valid.
        Specified by:
        isValid in interface org.kie.internal.definition.rule.InternalRule
        Overrides:
        isValid in class RuleImpl
        Returns:
        true if this rule is valid, else false.
      • setParameters

        public void setParameters​(Declaration[] parameters)
      • getKnowledgeType

        public org.kie.api.definition.KieDefinition.KnowledgeType getKnowledgeType()
        Specified by:
        getKnowledgeType in interface org.kie.api.definition.KieDefinition
        Overrides:
        getKnowledgeType in class RuleImpl
      • isQuery

        public boolean isQuery()
        Overrides:
        isQuery in class RuleImpl
      • isAbductive

        public boolean isAbductive()
      • processAbduction

        public boolean processAbduction​(org.kie.api.runtime.rule.Match resultLeftTuple,
                                        DroolsQuery dquery,
                                        java.lang.Object[] objects,
                                        ValueResolver valueResolver)
      • isReturnBound

        public boolean isReturnBound()
      • setReturnType

        public void setReturnType​(ObjectType objectType,
                                  java.lang.String[] params,
                                  java.lang.String[] args,
                                  Declaration[] declarations)
                           throws java.lang.NoSuchMethodException
        Throws:
        java.lang.NoSuchMethodException
      • getAbductiveAnnotationClass

        public java.lang.Class<? extends java.lang.annotation.Annotation> getAbductiveAnnotationClass()
      • getAbductionClass

        public <T extends java.lang.annotation.Annotation> java.lang.Class<?> getAbductionClass​(java.util.function.Function<java.lang.Class<T>,​T> annotationReader)