001package arez.annotations;
002
003import arez.Observer;
004import arez.Procedure;
005
006/**
007 * Enum describing the executor responsible for executing the {@link arez.Observer}'s observe method.
008 */
009public enum Executor
010{
011  /**
012   * Arez is responsible for invoking the observed method.
013   */
014  INTERNAL,
015  /**
016   * The application is responsible for invoking the observed method via the {@link arez.ArezContext#observe(Observer, arez.Function, Object...)}  or {@link arez.ArezContext#observe(Observer, Procedure, Object...)} methods.
017   */
018  EXTERNAL
019}