Пример #1
0
  private void initForInt(int v) {
    this.value = (VALUE) (Integer) v;

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

      case NOT_EQUAL:
        nativeDelegate = ObjectFilter.notEqInt(name, v);
        break;

      case LESS_THAN:
        nativeDelegate = ObjectFilter.ltInt(name, v);
        break;

      case LESS_THAN_EQUAL:
        nativeDelegate = ObjectFilter.lteInt(name, v);
        break;

      case GREATER_THAN:
        nativeDelegate = ObjectFilter.gtInt(name, v);
        break;

      case GREATER_THAN_EQUAL:
        nativeDelegate = ObjectFilter.gteInt(name, v);
        break;

      case BETWEEN:
        nativeDelegate = ObjectFilter.betweenInt(name, v, Conversions.toInt(values[1]));
        break;

      case IN:
        nativeDelegate = ObjectFilter.inInts(name, Conversions.iarray(values));
        break;

      case NOT_IN:
        nativeDelegate = ObjectFilter.notInInts(name, Conversions.iarray(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);
    }
  }
Пример #3
0
 @Override
 public int intValue() {
   return Conversions.toInt(value);
 }