org.jactr.core.production.condition
Class QueryCondition
java.lang.Object
org.jactr.core.production.condition.AbstractSlotCondition
org.jactr.core.production.condition.AbstractBufferCondition
org.jactr.core.production.condition.QueryCondition
- All Implemented Interfaces:
- java.lang.Cloneable, IBufferCondition, ICondition, ISlotContainer
public class QueryCondition
- extends AbstractBufferCondition
- implements java.lang.Cloneable
condition for checking the state of a buffer
- Author:
- developer
|
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. |
QueryCondition |
clone()
|
QueryCondition |
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. |
| 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 |
QueryCondition
public QueryCondition(java.lang.String bufferName)
QueryCondition
public QueryCondition(java.lang.String bufferName,
java.util.Collection<? extends ISlot> slots)
clone
public QueryCondition clone()
- Overrides:
clone in class java.lang.Object
clone
public QueryCondition 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.
- Specified by:
clone in interface ICondition
- 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.
- Specified by:
bind in interface ICondition
- Returns:
- number of unresolved variables
- Throws:
CannotMatchException