Package arez.annotations
Annotation Interface PreDispose
Annotation to identify method that is invoked before the component is disposed.
This method is the first 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
orSuppressArezWarnings
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 theSuppressWarnings
orSuppressArezWarnings
annotations with a key "Arez:ProtectedMethod".