Annotation Interface PostDispose


Annotation to identify method that is invoked after the component is disposed. This method is the last method invoked during the dispose operation and it occurs within the scope of the transaction that dispose is occurring within.

If there are multiple methods annotated with this annotation then the methods declared in parent classes will be invoked last and multiple methods within a single class will be invoked in reverse declaration order.

The method that is annotated with this annotation must comply with the additional constraints:

  • Must not be annotated with any other arez annotation
  • Must have 0 parameters
  • Must not return a value
  • Must not be private
  • Must not be static
  • Must not be abstract
  • Must not throw exceptions
  • Must be accessible to the class annotated by the ArezComponent annotation.
  • Should not be public as not expected to be invoked outside the component. A warning will be generated but can be suppressed by the SuppressWarnings or SuppressArezWarnings annotations with a key "Arez:PublicLifecycleMethod". This warning is also suppressed by the annotation processor if it is implementing an interface method.
  • Should not be protected if in the class annotated with the ArezComponent annotation as the method is not expected to be invoked outside the component. A warning will be generated but can be suppressed by the SuppressWarnings or SuppressArezWarnings annotations with a key "Arez:ProtectedMethod".