예제 #1
0
  private void initForChar(char value) {

    this.value = (VALUE) (Character) value;

    switch (operator) {
      case EQUAL:
        nativeDelegate = ObjectFilter.eqChar(name, (value));
        break;

      case NOT_EQUAL:
        nativeDelegate = ObjectFilter.notEqChar(name, (value));
        break;

      case LESS_THAN:
        nativeDelegate = ObjectFilter.ltChar(name, (value));
        break;

      case LESS_THAN_EQUAL:
        nativeDelegate = ObjectFilter.lteChar(name, (value));
        break;

      case GREATER_THAN:
        nativeDelegate = ObjectFilter.gtChar(name, (value));
        break;

      case GREATER_THAN_EQUAL:
        nativeDelegate = ObjectFilter.gteChar(name, (value));
        break;

      case BETWEEN:
        nativeDelegate = ObjectFilter.betweenChar(name, (value), Conversions.toChar(values[1]));
        break;

      case IN:
        nativeDelegate = ObjectFilter.inChars(name, Conversions.carray(values));
        break;

      case NOT_IN:
        nativeDelegate = ObjectFilter.notInChars(name, Conversions.carray(values));
        break;

      default:
        useDelegate = false;
    }
  }
예제 #2
0
  private void initIfNeeded() {

    if (initialized) return;
    initialized = true;

    String name = this.name.toString();

    FieldAccess field = field();
    if (field == null) {
      return;
    }

    Class type = field.type();

    if (!type.isPrimitive() && type != Typ.date) {
      return;
    }

    if (type == Typ.date) {

      if (!(value instanceof Date)) {
        initForDate();
      }
      return;
    }

    useDelegate = true;

    if (type == Typ.intgr) {
      int v = Conversions.toInt(value);
      initForInt(v);
    } else if (type == Typ.bt) {

      byte v = Conversions.toByte(value);

      initForByte(v);

    } else if (type == Typ.shrt) {

      short v = Conversions.toShort(value);

      initForShortValue(v);

    } else if (type == Typ.lng) {

      long v = Conversions.toLong(value);

      initForLong(v);

    } else if (type == Typ.flt) {

      float v = Conversions.toFloat(value);

      initForFloat(v);

    } else if (type == Typ.dbl) {

      double v = Conversions.toDouble(value);

      initForDouble(v);

    } else if (type == Typ.bln) {

      switch (operator) {
        case EQUAL:
          nativeDelegate = ObjectFilter.eqBoolean(name, Conversions.toBoolean(value));
          break;

        case NOT_EQUAL:
          nativeDelegate = ObjectFilter.notEqBoolean(name, Conversions.toBoolean(value));
          break;

        default:
          useDelegate = false;
      }

    } else if (type == Typ.chr) {

      char v = Conversions.toChar(value);
      initForChar(v);
    }
  }