private void initForFloat(float value) { this.value = (VALUE) (Float) value; switch (operator) { case EQUAL: nativeDelegate = ObjectFilter.eqFloat(name, (value)); break; case NOT_EQUAL: nativeDelegate = ObjectFilter.notEqFloat(name, (value)); break; case LESS_THAN: nativeDelegate = ObjectFilter.ltFloat(name, (value)); break; case LESS_THAN_EQUAL: nativeDelegate = ObjectFilter.lteFloat(name, (value)); break; case GREATER_THAN: nativeDelegate = ObjectFilter.gtFloat(name, (value)); break; case GREATER_THAN_EQUAL: nativeDelegate = ObjectFilter.gteFloat(name, (value)); break; case BETWEEN: nativeDelegate = ObjectFilter.betweenFloat(name, (value), Conversions.toFloat(values[1])); break; case IN: nativeDelegate = ObjectFilter.inFloats(name, Conversions.farray(values)); break; case NOT_IN: nativeDelegate = ObjectFilter.notInFloats(name, Conversions.farray(values)); break; default: useDelegate = false; } }
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); } }
@Override public float floatValue() { return Conversions.toFloat(value); }