Annotation Interface ObserverRef


Marks a template method that returns the Observer instance for the associated Observe annotated method.

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

  • Must not be annotated with any other arez annotation
  • Must be abstract
  • Must not throw any exceptions
  • Must return an instance of Observer.
  • 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:PublicRefMethod". 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".
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Return the name of the associated Observer that this ref relates to.
  • Element Details

    • name

      @Nonnull String name
      Return the name of the associated Observer that this ref relates to. This value will be derived if the method name matches the pattern "get[Name]Observer", otherwise it must be specified.
      Returns:
      the name of the associated Observer.
      Default:
      "<default>"