private boolean compare(Object selectItemValue, Object operandValue) { Comparator<Object> comparator = ObjectComparator.getComparator(); if (_operator == OperatorType.DIFFERENT_FROM) { return comparator.compare(selectItemValue, operandValue) != 0; } else if (_operator == OperatorType.EQUALS_TO) { return comparator.compare(selectItemValue, operandValue) == 0; } else if (_operator == OperatorType.GREATER_THAN) { return comparator.compare(selectItemValue, operandValue) > 0; } else if (_operator == OperatorType.GREATER_THAN_OR_EQUAL) { return comparator.compare(selectItemValue, operandValue) >= 0; } else if (_operator == OperatorType.LESS_THAN) { return comparator.compare(selectItemValue, operandValue) < 0; } else if (_operator == OperatorType.LESS_THAN_OR_EQUAL) { return comparator.compare(selectItemValue, operandValue) <= 0; } else if (_operator == OperatorType.LIKE) { WildcardPattern matcher = new WildcardPattern((String) operandValue, '%'); return matcher.matches((String) selectItemValue); } else if (_operator == OperatorType.NOT_LIKE) { WildcardPattern matcher = new WildcardPattern((String) operandValue, '%'); return !matcher.matches((String) selectItemValue); } else if (_operator == OperatorType.IN) { Set<?> inValues = getInValues(); return inValues.contains(selectItemValue); } else if (_operator == OperatorType.NOT_IN) { Set<?> inValues = getInValues(); return !inValues.contains(selectItemValue); } else { throw new IllegalStateException("Operator could not be determined"); } }
private boolean compare(Object selectItemValue, Object operandValue) { Comparator<Object> comparator = ObjectComparator.getComparator(); if (_operator == OperatorType.DIFFERENT_FROM) { return comparator.compare(selectItemValue, operandValue) != 0; } else if (_operator == OperatorType.EQUALS_TO) { return comparator.compare(selectItemValue, operandValue) == 0; } else if (_operator == OperatorType.GREATER_THAN) { return comparator.compare(selectItemValue, operandValue) > 0; } else if (_operator == OperatorType.GREATER_THAN_OR_EQUAL) { return comparator.compare(selectItemValue, operandValue) >= 0; } else if (_operator == OperatorType.LESS_THAN) { return comparator.compare(selectItemValue, operandValue) < 0; } else if (_operator == OperatorType.LESS_THAN_OR_EQUAL) { return comparator.compare(selectItemValue, operandValue) <= 0; } else if (_operator == OperatorType.LIKE) { WildcardPattern matcher = new WildcardPattern((String) operandValue, '%'); return matcher.matches((String) selectItemValue); } else if (_operator == OperatorType.NOT_LIKE) { WildcardPattern matcher = new WildcardPattern((String) operandValue, '%'); return !matcher.matches((String) selectItemValue); } else if (_operator == OperatorType.IN) { Set<?> inValues = getInValues(); return inValues.contains(selectItemValue); } else if (_operator == OperatorType.NOT_IN) { Set<?> inValues = getInValues(); return !inValues.contains(selectItemValue); } else { throw new IllegalStateException("Operator could not be determined"); } }