@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (rvalue instanceof Number) { return negate((Number) rvalue); } return null; }
@Override public Object evaluate(Filterable message) throws FilterException { Boolean lv = (Boolean) left.evaluate(message); // Can we do an AND shortcut?? if (lv == null) { return null; } if (!lv.booleanValue()) { return Boolean.FALSE; } Boolean rv = (Boolean) right.evaluate(message); return rv == null ? null : rv; }
@Override public Object evaluate(Filterable message) throws FilterException { Boolean lvalue = (Boolean) right.evaluate(message); if (lvalue == null) { return null; } return !lvalue.booleanValue(); }
@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (rvalue.getClass() != String.class) { return null; } return inList.contains(rvalue) ^ not; }
@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (!rvalue.getClass().equals(Boolean.class)) { return Boolean.FALSE; } return ((Boolean) rvalue).booleanValue(); }
@Override public Object evaluate(Filterable message) throws FilterException { Object lv = left.evaluate(message); Object rv = right.evaluate(message); // Iff one of the values is null if (lv == null ^ rv == null) { return Boolean.FALSE; } if (lv == rv || lv.equals(rv)) { return Boolean.TRUE; } if (lv instanceof Comparable && rv instanceof Comparable) { return compare((Comparable) lv, (Comparable) rv); } return Boolean.FALSE; }
/** * @see org.apache.activemq.filter.Expression#evaluate(Filterable) */ @Override public Object evaluate(Filterable message) throws FilterException { Object rv = this.getRight().evaluate(message); if (rv == null) { return null; } if (!(rv instanceof String)) { return Boolean.FALSE; // throw new RuntimeException("LIKE can only operate on String // identifiers. LIKE attempted on: '" + rv.getClass()); } return likePattern.matcher((String) rv).matches() ? Boolean.TRUE : Boolean.FALSE; }
@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (rvalue instanceof Number) { return negate((Number) rvalue); } return null; }
@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (rvalue instanceof Number) { return negate((Number) rvalue); } return null; }
@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (rvalue instanceof Number) { return negate((Number) rvalue); } return null; }
@Override public Object evaluate(Filterable message) throws FilterException { Object rvalue = right.evaluate(message); if (rvalue == null) { return null; } if (rvalue instanceof Number) { return negate((Number) rvalue); } return null; }
@Override public Object evaluate(Filterable message) throws FilterException { Boolean lvalue = (Boolean) right.evaluate(message); if (lvalue == null) { return null; } return !lvalue.booleanValue(); }