public <S> RuleBuilder<S, U> withFactType(Class<S> factType) {
    RuleBuilder<S, U> builder = new RuleBuilder<>(_ruleClass);
    builder._factType = factType;
    builder._resultType = _resultType;
    builder._actionType = _actionType;
    return builder;
  }
public <S> RuleBuilder<S, U> withFactType(Class<S> factType) {
    RuleBuilder<S, U> builder = new RuleBuilder<>(_ruleClass);
    builder._factType = factType;
    builder._resultType = _resultType;
    builder._actionType = _actionType;
    return builder;
  }
public < S > RuleBuilder < S , U > withFactType ( Class < S > factType ) { RuleBuilder < S , U > builder = new RuleBuilder <> ( _ruleClass ) ; builder . _factType = factType ; builder . _resultType = _resultType ; builder . _actionType = _actionType ; return builder ; }
Specifies the fact type for the Rule being built.
@param factType  the type of facts to be used in the Rule
@param <S>       the type of facts
@return          a builder using the new fact type for building a Rule
Specifies the fact type for the Rule being built .