Annotation Reference

This section contains a reference of all client annotations used on the application building process.
The annotations are listed in alphabetical order.
It does not refer the meta annotations used to define new annotations. Those can be seen here.

For simplicity the Presentation Layer annotation have been added in the following listing. Be aware that they will only be available in the Presentation layer is added to your project.

For a better understanding we will browse the annotation in the following logical groups:

  • DEM annotations
  • Stage annotations
  • Parameter annotations
  • Other annotations

Annotations can be used on classes, methods and attributes. Beware that the annotation referred on this page MUST NOT BE USED ON PRIVATE MEMBERS. You should annotated only public or protected members. Annotating private members will yield enhancement errors.

DEM Definition annotations

These annotations allow the developer to declare that classes define or use/inject components/entities of the DEM - DiF Entity Model.

Next is a list of all such annotations:

Stage Annotations

These annotations can be used in a stage class. These mainly inject or configure functionalities for the stages.
Besides these annotations all non-definition annotations from the DEM annotation are also for usage in stage classes and could very well have been listed in this section.

Next is a list of all such annotations:

  • @AccessControl: Defines a default ACL for the containing DEM entity
  • @Callback: Marks the stage eligible for navigation history recording
  • @Context: Injects the execution context
  • @DispatcherMode: Configures the stage execution configuration on the Dispatcher
  • @ErrorStage: Defines a stage that will be used for redirection if a business exception is raised
  • @ErrorView: Defines a view that will be used for redirection if a business exception is raised
  • @ExceptionHandler: Declares the current stage as the stage that will manage all the given exceptions
  • @Execute: Marks the annotated method as the stage's "main" method
  • @Finalize: Marks the annotated method as the stage's termination method
  • @Group: Creates a default group with a set of specific attributes
  • @Init: Marks the annotated method as the stage's initializations method
  • @InjectAuthenticationError: Instructs the controller to bypass any errors in the authentication phase and inject them in an attribute
  • @InjectMessages: Injects the stage messages on an attribute
  • @Messages: Injects a set of messages on an entity
  • @@OnSubmitValidationLogic: Marks a method to be executed when a given form is submitted, for validation purposes, prior to the submit handler (Presentation layer)
  • @OnSubmit: Marks a method to be executed when a given form is submitted (Presentation layer)
  • @OnSubmitSaveAction: Marks a method to be executed when a given form is submitted with the Save action (Presentation layer)
  • @OnAJAX: Marks a method to be executed when a given AJAX event is fired (Presentation layer)
  • @OnAJAXSubmit: Marks a method to be executed when a given form is submitted via an AJAX event (Presentation layer)
  • @OnDocument: Marks a method to be executed when a given document generation request event is fired (Presentation layer)
  • @Registrable: Marks the entity as registrable
  • @View: Injects a view
  • @User: Creates a default user with a set of specific attributes

Parameter Annotations

These annotations can be used in a stage class. These mainly inject or configure functionalities for the stages.

Next is a list of all such annotations:

Other annotations

These are miscellaneous annotations for several uses:

  • @Group: Declare a new user group
  • @User: Declare a new user
  • @Users: Allows declaration of several users with inner @User annotations

Back to User Guide Annotations Page