public abstract class AbstractContractRuleApp extends AbstractBuiltInRuleApp
Modifier and Type | Field and Description |
---|---|
protected Contract |
instantiation |
builtInRule, ifInsts, pio
Modifier | Constructor and Description |
---|---|
protected |
AbstractContractRuleApp(BuiltInRule rule,
PosInOccurrence pio) |
protected |
AbstractContractRuleApp(BuiltInRule rule,
PosInOccurrence pio,
Contract contract) |
protected |
AbstractContractRuleApp(BuiltInRule rule,
PosInOccurrence pio,
ImmutableList<PosInOccurrence> ifInsts,
Contract contract) |
Modifier and Type | Method and Description |
---|---|
AbstractContractRuleApp |
check(Services services) |
boolean |
complete()
returns true if all variables are instantiated
|
Contract |
getInstantiation() |
abstract IObserverFunction |
getObserverFunction(Services services) |
abstract AbstractContractRuleApp |
setContract(Contract contract) |
abstract AbstractContractRuleApp |
tryToInstantiate(Goal goal)
Tries to complete the rule application from the available information.
|
execute, forceInstantiate, getHeapContext, ifInsts, isSufficientlyComplete, posInOccurrence, replacePos, rule, setIfInsts, setMutable, toString
protected final Contract instantiation
protected AbstractContractRuleApp(BuiltInRule rule, PosInOccurrence pio)
protected AbstractContractRuleApp(BuiltInRule rule, PosInOccurrence pio, Contract contract)
protected AbstractContractRuleApp(BuiltInRule rule, PosInOccurrence pio, ImmutableList<PosInOccurrence> ifInsts, Contract contract)
public Contract getInstantiation()
public AbstractContractRuleApp check(Services services)
public abstract AbstractContractRuleApp tryToInstantiate(Goal goal)
IBuiltInRuleApp
UserInterfaceControl
to complete a built-in rule.
Returns a complete app only if there is exactly one contract.
If you want a complete app for combined contracts, use forceInstantiate
instead.
For an example implementation see e.g. UseOperationContractRule
or UseDependencyContractRule
.tryToInstantiate
in interface IBuiltInRuleApp
tryToInstantiate
in class AbstractBuiltInRuleApp
public abstract AbstractContractRuleApp setContract(Contract contract)
public boolean complete()
AbstractBuiltInRuleApp
complete
in interface RuleApp
complete
in class AbstractBuiltInRuleApp
public abstract IObserverFunction getObserverFunction(Services services)