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, toStringprotected 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)
IBuiltInRuleAppUserInterfaceControl 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 IBuiltInRuleApptryToInstantiate in class AbstractBuiltInRuleApppublic abstract AbstractContractRuleApp setContract(Contract contract)
public boolean complete()
AbstractBuiltInRuleAppcomplete in interface RuleAppcomplete in class AbstractBuiltInRuleApppublic abstract IObserverFunction getObserverFunction(Services services)