public SelType call()

in netflix-sel/src/main/java/com/netflix/sel/type/SelDouble.java [140:165]


  public SelType call(String methodName, SelType[] args) {
    if (args.length == 0 && "toString".equals(methodName)) {
      return SelString.of(Double.toString(val));
    } else if (args.length == 1 && "toString".equals(methodName)) {
      return SelString.of(((SelDouble) args[0]).toString());
    } else if (args.length == 1 && "valueOf".equals(methodName)) {
      switch (args[0].type()) {
        case STRING:
          return SelDouble.of(((SelString) args[0]).getInternalVal());
        case DOUBLE:
          return SelDouble.of(((SelDouble) args[0]).doubleVal());
      }
    } else if (args.length == 1 && "parseDouble".equals(methodName)) {
      return SelDouble.of(Double.parseDouble(((SelString) args[0]).getInternalVal()));
    } else if (args.length == 0 && "intValue".equals(methodName)) {
      return SelLong.of((long) this.val);
    } else if (args.length == 0 && "longValue".equals(methodName)) {
      return SelLong.of((long) this.val);
    }
    throw new UnsupportedOperationException(
        type()
            + " DO NOT support calling method: "
            + methodName
            + " with args: "
            + Arrays.toString(args));
  }