|                                                                                                              1
 13  package mondrian.olap.fun;
 14
 15  import mondrian.olap.*;
 16
 17
 24  class SimpleResolver implements Resolver {
 25      private  final FunDef funDef;
 26
 27      SimpleResolver(FunDef funDef) {
 28          this.funDef = funDef;
 29      }
 30
 31      public FunDef getFunDef() {
 32          return funDef;
 33      }
 34
 35      public String
  getName() { 36          return funDef.getName();
 37      }
 38
 39      public String
  getDescription() { 40          return funDef.getDescription();
 41      }
 42
 43      public String
  getSignature() { 44          return funDef.getSignature();
 45      }
 46
 47      public Syntax getSyntax() {
 48          return funDef.getSyntax();
 49      }
 50
 51      public String
  [] getReservedWords() { 52          return FunUtil.emptyStringArray;
 53      }
 54
 55      public FunDef resolve(
 56              Exp[] args, Validator validator, int[] conversionCount) {
 57          int[] parameterTypes = funDef.getParameterCategories();
 58          if (parameterTypes.length != args.length) {
 59              return null;
 60          }
 61          for (int i = 0; i < args.length; i++) {
 62              if (!validator.canConvert(
 63                      args[i], parameterTypes[i], conversionCount)) {
 64                  return null;
 65              }
 66          }
 67          return funDef;
 68      }
 69
 70      public boolean requiresExpression(int k) {
 71          int[] parameterTypes = funDef.getParameterCategories();
 72          return ((k >= parameterTypes.length) ||
 73                 (parameterTypes[k] != Category.Set));
 74      }
 75  }
 76
 77
                                                                                                                                                                                                             |                                                                       
 
 
 
 
 
                                                                                   Popular Tags                                                                                                                                                                                              |