Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.hp.hpl.jena.reasoner.rulesys.builtins
Class BaseBuiltin

    java.lang.Object
      com.hp.hpl.jena.reasoner.rulesys.builtins.BaseBuiltin

All Implemented Interfaces:
  Builtin

Direct Known Subclasses:
  AddOne, AssertDisjointPairs, Bound, CountLiteralValues, Difference, Drop, Equal, GE, GreaterThan, Hide, IsBNode, IsDType, IsFunctor, IsLiteral, LE, LessThan, ListContains, ListEntry, ListEqual, ListLength, ListMapAsObject, ListMapAsSubject, ListNotContains, ListNotEqual, MakeInstance, MakeTemp, Max, Min, NotBNode, NotDType, NotEqual, NotFunctor, NotLiteral, NoValue, Now, Print, Product, Quotient, Regex, Remove, StrConcat, Sum, Table, TableAll, Unbound

    public abstract class BaseBuiltin

extends java.lang.Object
implements Builtin

Dummy implementation of the Builtin interface that specific implementations can inherit from.

Version:
  $Revision: 1.14 $ on $Date: 2008/01/02 12:06:20 $
Author:
  Dave Reynolds

Field Summary
`static java.lang.String` | `BASE_URI` Base URI for jena builtins

Constructor Summary
`BaseBuiltin()`

Method Summary
`boolean` | `bodyCall(Node[] args, int length, RuleContext context)` This method is invoked when the builtin is called in a rule body.
`void` | `checkArgs(int length, RuleContext context)` Check the argument length.
`Node` | `getArg(int n, Node[] args, RuleContext context)` Return the n'th argument node after dererencing by what ever type of rule engine binding environment is appropriate.
`int` | `getArgLength()` Return the expected number of arguments for this functor or 0 if the number is flexible.
`java.lang.String` | `getURI()` Return the full URI which identifies this built in.
`void` | `headAction(Node[] args, int length, RuleContext context)` This method is invoked when the builtin is called in a rule head.
`boolean` | `isMonotonic()` Returns false if this builtin is non-monotonic.
`boolean` | `isSafe()` Returns false if this builtin has side effects when run in a body clause, other than the binding of environment variables.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.hp.hpl.jena.reasoner.rulesys.Builtin
`getName`

Field Detail

### BASE_URI

    public static final java.lang.String BASE_URI

  Base URI for jena builtins

  See Also:
    Constant Field Values

Constructor Detail

### BaseBuiltin

    public BaseBuiltin()

Method Detail

### getURI

    public java.lang.String getURI()

  Return the full URI which identifies this built in.

  Specified by:
    `getURI` in interface `Builtin`

### getArgLength

    public int getArgLength()

  Return the expected number of arguments for this functor or 0 if the number is flexible.

  Specified by:
    `getArgLength` in interface `Builtin`

### checkArgs

    public void checkArgs(int length,
                          RuleContext context)

  Check the argument length.

### 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`
  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

### headAction

    public void headAction(Node[] args,
                           int length,
                           RuleContext context)

  This method is invoked when the builtin is called in a rule head. Such a use is only valid in a forward rule.

  Specified by:
    `headAction` in interface `Builtin`
  Parameters:
    `args` - the array of argument values for the builtin, this is an array of Nodes.
    `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

### isSafe

    public boolean isSafe()

  Returns false if this builtin has side effects when run in a body clause, other than the binding of environment variables.

  Specified by:
    `isSafe` in interface `Builtin`

### isMonotonic

    public boolean isMonotonic()

  Returns false if this builtin is non-monotonic. This includes non-monotonic checks like noValue and non-monotonic actions like remove/drop. A non-monotonic call in a head is assumed to be an action and makes the overall rule and ruleset non-monotonic. Most JenaRules are monotonic deductive closure rules in which this should be false.

  Specified by:
    `isMonotonic` in interface `Builtin`

### getArg

    public Node getArg(int n,
                       Node[] args,
                       RuleContext context)

  Return the n'th argument node after dererencing by what ever type of rule engine binding environment is appropriate.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP