Woonsan Ko created JEXL-253:
-------------------------------
Summary: Permissions by super type in JexlSandbox
Key: JEXL-253
URL: https://issues.apache.org/jira/browse/JEXL-253
Project: Commons JEXL
Issue Type: New Feature
Reporter: Woonsan Ko
At the moment, the permissions in {{JexlSandbox}} takes the object's class name
only into the consideration. So, if someone adds {{java.util.Set}} into the
white list, but if the real object is an empty set
({{Collections.emptySet()}}), then it cannot allow invocations on
{{#contains(Object)}} operation, for instance.
I think it would be very convenient if it optionally allows to set whites or
blacks based on super type (interfaces or base classes).
To minimize the effort, I'd suggest adding
{{JexlSandbox#permissionsByType(Class<?> type, ...)}}, where the {{type}} means
the object type or any super types.
So, if {{JexlSandbox#permissionsByType(java.util.Set.class, ...)}}, then any
invocations on any concrete {{java.util.Set}} objects will be affected by that.
Related e-mail thread: "[JEXL] white list classes, not by interfaces?"
(10/19/17).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)