Session.hasCapability(String, Object, Map):
method arguments are passed as name/value pairs in a map. while this approach would be probably
fine for an interpreted scripting language, it's IMO not suitable for a compiled language like java.
an implementation would need to hard-code every argument name of every jcr api method in order to
properly identify the method in question and evaluate the arguments.
a more java-like approach would be to pass the arguments as array of objects, like e.g. in the
java.lang.reflection.Method#invoke() method. this would allow to use reflection to identify the method.
i therefore suggest to change the signature to
public boolean hasCapability(String methodName, Object target, Object arguments) throws
The arguments parameter is an Object array containing the values of the formal parameters, in declared