001 package com.hammurapi.reasoning.impl;
002
003 import java.util.List;
004
005 import com.hammurapi.config.bootstrap.ConfigurationException;
006
007 public abstract class ReasoningTransitionBase<F> implements com.hammurapi.flow.runtime.Transition<KnowledgeBase<F>,InferenceToken<F>> {
008
009 private int ruleIndex = -1;
010 protected Object rule;
011 protected KnowledgeBase<F> knowledgeBase;
012
013 public void setRuleIndex(int ruleIndex) {
014 this.ruleIndex = ruleIndex;
015 }
016
017 public void setRules(List<?> rules) throws ConfigurationException {
018 if (ruleIndex!=-1) {
019 this.rule = rules.get(ruleIndex);
020 }
021 }
022
023 public void setKnowledgeBase(KnowledgeBase<F> knowledgeBase) {
024 this.knowledgeBase = knowledgeBase;
025 }
026
027 @Override
028 public void beforeConnect() throws ConfigurationException {
029 // NOP
030 }
031
032 @Override
033 public void afterConnect() throws ConfigurationException {
034 // NOP, override as needed.
035 }
036
037 }