Class NoValue

  • All Implemented Interfaces:
    Builtin

    public class NoValue
    extends BaseBuiltin
    Can be used in two arg form (X, P) or three arg form (X, P, V). In three arg form it succeeds if the triple (X, P, V) is not currently present, in two arg form it succeeds if there is not value for (X, P, *).
    • Field Summary

    • Constructor Summary

      Constructors 
      Constructor Description
      NoValue()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean bodyCall​(Node[] args, int length, RuleContext context)
      This method is invoked when the builtin is called in a rule body.
      java.lang.String getName()
      Return a name for this builtin, normally this will be the name of the functor that will be used to invoke it.
      boolean isMonotonic()
      Flag as non-monotonic so the guard clause will get rerun after deferal as part of a non-trivial conflict set.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NoValue

        public NoValue()
    • Method Detail

      • getName

        public java.lang.String getName()
        Return a name for this builtin, normally this will be the name of the functor that will be used to invoke it.
      • bodyCall

        public boolean bodyCall​(Node[] args,
                                int length,
                                RuleContext context)
        This method is invoked when the builtin is called in a rule body.
        Specified by:
        bodyCall in interface Builtin
        Overrides:
        bodyCall in class BaseBuiltin
        Parameters:
        args - the array of argument values for the builtin, this is an array of Nodes, some of which may be Node_RuleVariables.
        length - the length of the argument list, may be less than the length of the args array for some rule engines
        context - an execution context giving access to other relevant data
        Returns:
        return true if the buildin predicate is deemed to have succeeded in the current environment
      • isMonotonic

        public boolean isMonotonic()
        Flag as non-monotonic so the guard clause will get rerun after deferal as part of a non-trivial conflict set.
        Specified by:
        isMonotonic in interface Builtin
        Overrides:
        isMonotonic in class BaseBuiltin