| Package | Description | 
|---|---|
| agi.foundation | Contains commonly used types. | 
| Modifier and Type | Method and Description | 
|---|---|
| static <TEvaluator> | EvaluatorGroup.Callback0. of(EvaluatorGroup.Callback0.Function<TEvaluator> f)Create a delegate for the given interface. | 
| static <TEvaluator> | EvaluatorGroup.Callback0. of(EvaluatorGroup.Callback0.Function<TEvaluator> f,
  Class<?> targetClass,
  String methodName,
  Class<?>... methodParameterClasses)Create a delegate for the given interface. | 
| static <TEvaluator> | EvaluatorGroup.Callback0. of(EvaluatorGroup.Callback0.Function<TEvaluator> f,
  Object targetObject,
  String methodName,
  Class<?>... methodParameterClasses)Create a delegate for the given interface. | 
| Modifier and Type | Method and Description | 
|---|---|
| <TResult> TResult | EvaluatorGroup. callAndMemoize(EvaluatorGroup.Callback0<TResult> callback)Optimizes calls to a  callbackthat is expected to be called multiple times so that future calls
    with the same parameters return a cached result rather than actually invoking the callback again. | 
| <TEvaluator extends IEvaluator> | EvaluatorGroup. createEvaluator(EvaluatorGroup.Callback0<TEvaluator> callback)Creates an evaluator in the context of this evaluator group by invoking a callback, if the
    evaluator does not already exist in the group. | 
| static <TEvaluator> | EvaluatorGroup. getOptimized(EvaluatorGroup.Callback0<TEvaluator> callback)Creates a  EvaluatorGroup, uses that group to obtain an evaluator
    by callingcallback, then callsEvaluatorGroup.updateReference(T)and returns the resulting optimized evaluator. |