Esempio n. 1
0
  public Object evaluate(Evaluator evaluator) {
    final Member[] members = tupleCalc.evaluateTuple(evaluator);
    if (members == null) {
      return null;
    }

    final boolean needToReturnNull = evaluator.needToReturnNullForUnrelatedDimension(members);
    if (needToReturnNull) {
      return null;
    }

    Member[] savedMembers = new Member[members.length];
    for (int i = 0; i < members.length; i++) {
      savedMembers[i] = evaluator.setContext(members[i]);
    }
    Object result = evaluator.evaluateCurrent();
    evaluator.setContext(savedMembers);
    return result;
  }