Package com.semedy.reasoner.api.builtin
Class AbstractConnector
java.lang.Object
com.semedy.reasoner.api.builtin.AbstractConnector
- Direct Known Subclasses:
ReasonerConnector
,SQLiteConnector
coordinates calls to connectors and performs constraint reasoning for connectors
- Author:
- angele
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
abstract Builtin
clone the builtinboolean
eval()
Create queries from available restrictions.void
call back function.abstract String[]
get descriptions for the different argumentsabstract int
getArity()
get the arity of the builtinstatic List<AbstractConnector>
get an instance from each connector type for evaluationabstract String
get a description for the builtinabstract String
getName()
get the name of the builtinint
getType()
get the type of the builtinlong
getUID()
abstract long
the weight of the builtin.abstract void
initialize the builtinvoid
input
(long[] input) Feed the built-in with an input tuple.boolean
isEvaluable
(BitSet grounds, BitSet variableInstantiations, Object[] args) is builtin evaluable with a certain instantiation of variablesboolean
is it a builtin for internal use onlyabstract BitSet
objectGeneratingArguments
(BitSet grounds, BitSet variableInstantiations, Object[] args) In which argument position are new objects createdboolean
does the builtin read the symbol tablevoid
setProperties
(Properties prp) set the sytem propertiesvoid
setSymbolTable
(SymbolTable symbolTable) set the symbol tablevoid
start
(BitSet grounds, BuiltinReceiver receiver) Start feeding the built-in with input values.void
stop()
stop feeding the built-in with input valuesboolean
does the builtin write into the symbol table
-
Constructor Details
-
AbstractConnector
public AbstractConnector()
-
-
Method Details
-
getNumberOfRestrictions
public int getNumberOfRestrictions() -
getConnectorInstances
get an instance from each connector type for evaluation- Returns:
-
writesSymbolTable
public boolean writesSymbolTable()Description copied from interface:Builtin
does the builtin write into the symbol table- Specified by:
writesSymbolTable
in interfaceBuiltin
- Returns:
- true if it writes to the symbol table
-
setProperties
Description copied from interface:Builtin
set the sytem properties- Specified by:
setProperties
in interfaceBuiltin
- Parameters:
prp
- , properties
-
setSymbolTable
Description copied from interface:Builtin
set the symbol table- Specified by:
setSymbolTable
in interfaceBuiltin
- Parameters:
symbolTable
- , the symbol table
-
readsSymbolTable
public boolean readsSymbolTable()Description copied from interface:Builtin
does the builtin read the symbol table- Specified by:
readsSymbolTable
in interfaceBuiltin
- Returns:
- true if it reads the symbol table
-
objectGeneratingArguments
public abstract BitSet objectGeneratingArguments(BitSet grounds, BitSet variableInstantiations, Object[] args) throws BuiltinException Description copied from interface:Builtin
In which argument position are new objects created- Specified by:
objectGeneratingArguments
in interfaceBuiltin
- Parameters:
grounds
- , ground argument positionsvariableInstantiations
- , instantiated variablesargs
- , arguments of the literal- Returns:
- each bit indicates the argument position where new objects are created
- Throws:
BuiltinException
-
isInternal
public boolean isInternal()Description copied from interface:Builtin
is it a builtin for internal use only- Specified by:
isInternal
in interfaceBuiltin
- Returns:
-
isEvaluable
public boolean isEvaluable(BitSet grounds, BitSet variableInstantiations, Object[] args) throws BuiltinException Description copied from interface:Builtin
is builtin evaluable with a certain instantiation of variables- Specified by:
isEvaluable
in interfaceBuiltin
- Parameters:
grounds
- , which arguments are groundvariableInstantiations
- , which variables are instantiatedargs
- , the arguments- Returns:
- was it evaluable
- Throws:
BuiltinException
-
getType
Description copied from interface:Builtin
get the type of the builtin -
init
Description copied from interface:Builtin
initialize the builtin- Specified by:
init
in interfaceBuiltin
- Parameters:
args
- , the builtin arguments- Throws:
InterruptedException
IOException
BuiltinException
-
getWeight
Description copied from interface:Builtin
the weight of the builtin. Determines when the builtin is executed in a rule -
getName
Description copied from interface:Builtin
get the name of the builtin -
getDescription
Description copied from interface:Builtin
get a description for the builtin- Specified by:
getDescription
in interfaceBuiltin
- Returns:
- a description of the built-in
-
getArity
public abstract int getArity()Description copied from interface:Builtin
get the arity of the builtin -
getArgumentDescriptions
Description copied from interface:Builtin
get descriptions for the different arguments- Specified by:
getArgumentDescriptions
in interfaceBuiltin
- Returns:
- a description of the arguments of the built-in
-
evaluationFinished
Description copied from interface:Builtin
call back function. Is called when the whole evaluation has been finished- Specified by:
evaluationFinished
in interfaceBuiltin
- Throws:
BuiltinException
InterruptedException
-
cloneBuiltin
Description copied from interface:Builtin
clone the builtin- Specified by:
cloneBuiltin
in interfaceBuiltin
- Returns:
- the cloned built-in
-
stop
public void stop() throws ReasoningException, InterruptedException, SemReasonerException, IOExceptionDescription copied from interface:Connector
stop feeding the built-in with input values- Specified by:
stop
in interfaceConnector
- Throws:
InterruptedException
SemReasonerException
IOException
ReasoningException
-
start
public void start(BitSet grounds, BuiltinReceiver receiver) throws ReasoningException, InterruptedException, IOException Description copied from interface:Connector
Start feeding the built-in with input values. Grounds indicates the ground arguments;
receiver catches the results of the evaluation- Specified by:
start
in interfaceConnector
- Parameters:
grounds
- , the arguments which are groundreceiver
- , the receiver receiving the results- Throws:
ReasoningException
InterruptedException
IOException
-
getUID
public long getUID() -
input
Description copied from interface:Connector
Feed the built-in with an input tuple.
The built-in may produce at any time results,
may be during feeding or may be after calling stop- Specified by:
input
in interfaceConnector
- Parameters:
input
- encoded input tuple- Throws:
InterruptedException
IOException
SemReasonerException
-
eval
Create queries from available restrictions.
Check them against older queries for subsumption.
Execute queries.- Returns:
- Throws:
SemReasonerException
IOException
InterruptedException
-
clearData
public static void clearData()
-