A common interface for invocable resource components. This includes resource methods, sub-resource methods and sub-resource locators bound to a concrete handler class and a Java method (either directly or indirectly) declared & implemented by the handler class.
Invocable component information is used at runtime by a Java method dispatcher when processing requests.
Class defines two kinds of {@link Method java methods}: {@link #getDefinitionMethod() definition method} and{@link #getHandlingMethod() handling method}. Definition method is the java {@code Method} that is definedby the user to be executed. This can be java {@code Method} of the class but also method of the interface. If it is themethod of the interface (method handler class is the {@code class} but method itself is fromthe {@code interface}) then the definition method is the method from the inherited {@code class}. In other words, the handling method is the concrete method but definition method can be its parent abstract definition. However, in most cases these methods are the same.
@author Marek Potociar (marek.potociar at oracle.com)
@see ResourceMethod
@see ResourceMethodDispatcher