/**
   * @param operand The operand of the function
   * @param targetType The type of the result. Timestamp or Date.
   * @exception StandardException Thrown on error
   */
  public void init(Object operand, Object targetType) throws StandardException {
    setType((DataTypeDescriptor) targetType);
    switch (getTypeServices().getJDBCTypeId()) {
      case Types.DATE:
        super.init(operand, "date", DATE_METHOD_NAME);
        break;

      case Types.TIMESTAMP:
        super.init(operand, "timestamp", TIMESTAMP_METHOD_NAME);
        break;

      default:
        if (SanityManager.DEBUG) SanityManager.NOTREACHED();
        super.init(operand);
    }
  }
  /**
   * @param operand The operand of the function
   * @param targetType The type of the result. Timestamp or Date.
   * @exception StandardException Thrown on error
   */
  public void init(Object operand, Object targetType) throws StandardException {
    setType((DataTypeDescriptor) targetType);
    switch (getType().getJDBCTypeId()) {
      case Types.DATE:
        super.init(operand, "date", DATE_METHOD_NAME);
        break;

      case Types.TIME:
        super.init(operand, "time", TIME_METHOD_NAME);
        break;

      case Types.TIMESTAMP:
        super.init(operand, "timestamp", TIMESTAMP_METHOD_NAME);
        break;

      default:
        assert false;
        super.init(operand);
    }
  }
 /**
  * Initializer for a UnaryLogicalOperatorNode
  *
  * @param operand The operand of the operator
  * @param methodName The name of the method to call in the generated class. In this case, it's
  *     actually an operator name.
  */
 @Override
 public void init(Object operand, Object methodName) {
   /* For logical operators, the operator and method names are the same */
   super.init(operand, methodName, methodName);
 }
 /**
  * Initializer for a UnaryLogicalOperatorNode
  *
  * @param operand The operand of the operator
  * @param methodName The name of the method to call in the generated class. In this case, it's
  *     actually an operator name.
  */
 public void init(Object operand, Object methodName) throws StandardException {
   /* For logical operators, the operator and method names are the same */
   super.init(operand, methodName, methodName);
 }