@Target(value=METHOD) @Retention(value=RUNTIME) @Documented public @interface DefaultCallback
@DefaultCallback
. That eliminates the need for a special marker annotation for the target method.
If there are multiple callback types, it's necessary to use custom annotations as marker for the target method (e.g.
see @Secured
vs. @ViewControllerRef
).
ViewConfigDescriptor viewConfigDescriptor = viewConfigResolver.getViewConfigDescriptor(SomePage.class);
viewConfigDescriptor.getExecutableCallbackDescriptor(
Secured.class, Secured.Descriptor.class).execute(accessDecisionVoterContext);
is short for
viewConfigDescriptor.getExecutableCallbackDescriptor(
Secured.class, DefaultCallback.class, Secured.Descriptor.class).execute(accessDecisionVoterContext);
whereas e.g.
viewConfigDescriptor.getExecutableCallbackDescriptor(
ViewControllerRef.class, PreRenderView.class, ViewControllerRef.Descriptor.class).execute();
or just
viewConfigDescriptor.getExecutableCallbackDescriptor(
ViewControllerRef.class, PreRenderView.class, SimpleCallbackDescriptor.class).execute();
are needed to call @PreRenderView callbacks specifically (instead of the others like @InitView which are also
bound to @ViewControllerRef).Copyright © 2015 The Apache Software Foundation. All rights reserved.