Annotation Interface Root


@Target(PARAMETER) @Retention(RUNTIME) public @interface Root
Sets the parameter to the root object in the cause chain, an additional check is done to ensure that the root object is of the correct type and the filter fails if this is not the case.
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    If true then the behavior of the typeFilter is reversed and the specified types are excluded rather than included.
    Class<?>[]
    If specified the possible type for the returned object (normally specified by the type of the annotated parameter) is restricted to only the specified types.
  • Element Details

    • typeFilter

      Class<?>[] typeFilter
      If specified the possible type for the returned object (normally specified by the type of the annotated parameter) is restricted to only the specified types.

      For example annotating a parameter of type Monster would normally accept all entities extending Monster, however with the includes specified as Enderman and Zombie the possible Monsters returned would be restricted to entities extending either Enderman and Zombie.

      Returns:
      The included classes, if empty then the type is not restricted
      Default:
      {}
    • inverse

      boolean inverse
      If true then the behavior of the typeFilter is reversed and the specified types are excluded rather than included.
      Returns:
      If the type filter is reversed
      Default:
      false