@Override public boolean execute(Object iLeft, Object iRight) { if (iLeft == null || iRight == null) { return false; } if (iLeft instanceof Number && iRight instanceof Number && iLeft.getClass() != iRight.getClass()) { Number[] couple = OType.castComparableNumber((Number) iLeft, (Number) iRight); iLeft = couple[0]; iRight = couple[1]; } else { iRight = OType.convert(iRight, iLeft.getClass()); } if (iRight == null) return false; return ((Comparable<Object>) iLeft).compareTo(iRight) < 0; }
@Override public boolean execute(Object iLeft, Object iRight) { if (iLeft == iRight) { return true; } if (iLeft == null || iRight == null) { return false; } if (iLeft.getClass() != iRight.getClass() && iLeft instanceof Number && iRight instanceof Number) { Number[] couple = OType.castComparableNumber((Number) iLeft, (Number) iRight); iLeft = couple[0]; iRight = couple[1]; } else { iRight = OType.convert(iRight, iLeft.getClass()); } if (iRight == null) return false; return ((Comparable<Object>) iLeft).compareTo(iRight) <= 0; }
@Override public boolean execute(Object iLeft, Object iRight) { if (iLeft == iRight) { return true; } if (iLeft == null || iRight == null) { return false; } if (iLeft.getClass() != iRight.getClass() && iLeft instanceof Number && iRight instanceof Number) { Number[] couple = OType.castComparableNumber((Number) iLeft, (Number) iRight); iLeft = couple[0]; iRight = couple[1]; } else { iRight = OType.convert(iRight, iLeft.getClass()); } if (iRight == null) return false; return ((Comparable<Object>) iLeft).compareTo(iRight) >= 0; }
@Override public boolean execute(Object iLeft, Object iRight) { if (iLeft == null || iRight == null) { return false; } if (iLeft.getClass() != iRight.getClass() && iLeft instanceof Number && iRight instanceof Number) { Number[] couple = OType.castComparableNumber((Number) iLeft, (Number) iRight); iLeft = couple[0]; iRight = couple[1]; } else { iRight = OType.convert(iRight, iLeft.getClass()); } if (iRight == null) return false; if (iLeft instanceof OIdentifiable && !(iRight instanceof OIdentifiable)) { return false; } if (!(iLeft instanceof Comparable)) { return false; } return ((Comparable<Object>) iLeft).compareTo(iRight) > 0; }
Number[] converted = OType.castComparableNumber((Number) item, (Number) min); item = converted[0]; min = converted[1]; else { if (context instanceof Number && min instanceof Number) { final Number[] casted = OType.castComparableNumber((Number) context, (Number) min); context = casted[0]; min = casted[1];
Number[] converted = OType.castComparableNumber((Number) item, (Number) max); item = converted[0]; max = converted[1]; else { if (context instanceof Number && max instanceof Number) { final Number[] casted = OType.castComparableNumber((Number) context, (Number) max); context = casted[0]; max = casted[1];
Number[] conv = OType.castComparableNumber((Number) left, (Number) right1); leftResult = ((Comparable) conv[0]).compareTo(conv[1]); } else { Number[] conv = OType.castComparableNumber((Number) left, (Number) right2); rightResult = ((Comparable) conv[0]).compareTo(conv[1]); } else {
Number[] couple = OType.castComparableNumber((Number) iLeft, (Number) iRight); return couple[0].equals(couple[1]);