com.tibco.tea.agent.annotations

## Annotation Type TeaOperation

-     @Retention(value=RUNTIME)
       @Target(value=METHOD)
      public @interface TeaOperation

  The annotation for tea operation. The operation could have arguments of primitive types, string, `DataSource` or java bean (only one argument can be java bean) and return java bean, string or primitive type.

  If the operation _is not_ on TOP_LEVEL type, it has to have one argument of type String with `KeyParam` annotation, all other arguments have to have `TeaParam` annotations.

  Other annotations expected on the method with `TeaOperation`:
  - `TeaRequires` - define required permissions to run the operation. Note: if the operation does not have TeaReaquires annotation, it is considered 'read-only' and only "Read" permission is required.
  - `Customize` - define UI customization options

  Example:

  ``

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `description` Description of the method.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `developerNotes` Developer notes
    `com.tibco.tea.agent.internal.types.ClientType[]` | `hideFromClients` Define which client cannot access this operation.
    `boolean` | `internal` Deprecated.
    `MethodType` | `methodType` Define semantics of the operation, see `MethodType`.
    `String` | `name` Name of the operation, optional, use method name as default.
    `String` | `objectType` Name of the type of the operation, optional, it use type defined on the class level as default.

- - ### Element Detail

    - #### description

          public abstract String description

      Description of the method.

  - - #### developerNotes

          public abstract String developerNotes

      Developer notes
      Returns:
      Default:
        ""

  - - #### name

          public abstract String name

      Name of the operation, optional, use method name as default.
      Default:
        ""

  - - #### objectType

          public abstract String objectType

      Name of the type of the operation, optional, it use type defined on the class level as default. When the class has multiple types, the type attribute is mandatory.
      Default:
        ""

  - - #### internal

          @Deprecated
          public abstract boolean internal

      Deprecated.
      Indicates that the operation is internal, if set - the operation will not appear in generic UI.
      Default:
        false

  - - #### methodType

          public abstract MethodType methodType

      Define semantics of the operation, see `MethodType`.
      Default:
        com.tibco.tea.agent.api.MethodType.UPDATE

  - - #### hideFromClients

          public abstract com.tibco.tea.agent.internal.types.ClientType[] hideFromClients

      Define which client cannot access this operation. internal attribute has more priority to avoid backward compatibility issues.
      Default:
        {}

Copyright © 2022 TIBCO Software Inc.. All Rights Reserved.