org.jactr.core.production.condition
Class SystemPropertyCondition
java.lang.Object
org.jactr.core.production.condition.AbstractSlotCondition
org.jactr.core.production.condition.SystemPropertyCondition
- All Implemented Interfaces:
- ICondition, ISlotContainer
public class SystemPropertyCondition
- extends AbstractSlotCondition
condition that checks the values of system properties. The System properties
are returned via System.getProperty(String) and merely checks the
string values (no resolution to primitives is performed).
- Author:
- harrison
|
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. |
ICondition |
clone(IModel model,
java.util.Map<java.lang.String,java.lang.Object> variableBindings)
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 |
SystemPropertyCondition
public SystemPropertyCondition()
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
clone
public ICondition clone(IModel model,
java.util.Map<java.lang.String,java.lang.Object> variableBindings)
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