org.jactr.core.production.condition
Class VariableCondition
java.lang.Object
org.jactr.core.production.condition.AbstractSlotCondition
org.jactr.core.production.condition.AbstractBufferCondition
org.jactr.core.production.condition.VariableCondition
- All Implemented Interfaces:
- IBufferCondition, ICondition, ISlotContainer
public class VariableCondition
- extends AbstractBufferCondition
- Author:
- harrison TODO To change the template for this generated type comment
go to Window - Preferences - Java - Code Style - Code Templates
|
Constructor Summary |
VariableCondition(java.lang.String bufferName,
java.lang.String variableName)
|
|
Method Summary |
int |
bind(IModel model,
java.util.Map<java.lang.String,java.lang.Object> variableBindings,
boolean isIterative)
Iteratively perform the resolution and binding for this condition. |
VariableCondition |
clone(IModel model,
java.util.Map<java.lang.String,java.lang.Object> bindings)
attempt to clone this condition before it will be bound in the
instantiation phase. |
java.lang.String |
getVariableName()
|
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.jactr.core.production.condition.ICondition |
dispose |
VariableCondition
public VariableCondition(java.lang.String bufferName,
java.lang.String variableName)
- Parameters:
bufferName -
getVariableName
public java.lang.String getVariableName()
clone
public VariableCondition clone(IModel model,
java.util.Map<java.lang.String,java.lang.Object> bindings)
throws CannotMatchException
- Description copied from interface:
ICondition
- attempt to clone this condition before it will be bound in the
instantiation phase. We pass the current bindings so that the condition can
do an early rejection if possible.
- Returns:
- a writable copy of the condition that will be bound
- Throws:
CannotMatchException - if there is no way this condition can be matched
bind
public int bind(IModel model,
java.util.Map<java.lang.String,java.lang.Object> variableBindings,
boolean isIterative)
throws CannotMatchException
- Description copied from interface:
ICondition
- Iteratively perform the resolution and binding for this condition. If this
condition defines any variables, they are placed into the bindings map for
other conditions to exploit. Similarly, it will resolve any bindings that
it needs in order to be matched. If at any point the condition determines
that it cannot be matched, the exception is to be thrown. Similarly, if
isIterative is false, and there are unresolved bindings, the exception
should be thrown.
Otherwise, the number of unresolved bindings is returned which allows the
instantiation calculation determine if another resolution round is
required.
- Returns:
- number of unresolved variables
- Throws:
CannotMatchException