[ https://issues.apache.org/jira/browse/JEXL-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14634769#comment-14634769 ]
Dmitri Blinov edited comment on JEXL-151 at 7/21/15 8:33 AM: ------------------------------------------------------------- For now I have managed to overload operators + and - via JexlArithmetic to support manipulation of Collection items, it's odd-looking a bit, but works. Another case is =~ operator which is implemented inside Interpreter.java and since can not be overloaded, but as I see it requires only three lines of code to implement // try contains on collection if (right instanceof Collection<?>) { if (left instanceof Collection<?>) return ((Collection<?>) right).containsAll((Collection<?>) left); else return ((Collection<?>) right).contains(left); } Can we include it in near future? was (Author: dmitri_blinov): For now I have managed to overload operators + and - via JexlArithmetic to support manipulation of Collection items, it's odd-looking a bit, but works. Another case is =~ operator which is implemented inside Interpreter.java and since can not be overloaded, but as I see it requires only three lines of code to implement // try contains on collection if (right instanceof Collection<?>) { + if (left instanceof Collection<?>) + return ((Collection<?>) right).containsAll((Collection<?>) left); + else return ((Collection<?>) right).contains(left); } Can we include it in near future? > operators to manipulate j.u.Collection > -------------------------------------- > > Key: JEXL-151 > URL: https://issues.apache.org/jira/browse/JEXL-151 > Project: Commons JEXL > Issue Type: New Feature > Affects Versions: 3.0 > Reporter: Dmitri Blinov > Priority: Minor > Fix For: Later > > > New operators to add or remove collection items to/from Collection. Operators > can be named as += and -= respectively, or any other way. Operator += can be > mapped to Collection.addAll(Collection c) if right argument is Collection or > to Collection.add(Object o) otherwise. Operator -= can be mapped to > Collection.removeAll(Collection c) if right argument is Collection or to > Collection.remove(Object o) otherwise. Extend operators =~ (!~) to support > CollectionA =~ CollectionB usage, in which case it should map to > B.containsAll(A) operation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)