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; } }
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); } }