Annotation Interface UseCase


An annotation that can be used for extension points in order to explain a specific use case that can be accomplished using this extension. For components that are able to be used for multiple use cases, the component may be annotated with multiple UseCase annotations.

Note that this annotation differs from CapabilityDescription in that CapabilityDescription should describe the general purpose of the extension point. UseCase, on the other hand, documents one very specific use case that can be accomplished. Some extension points may use only a single UseCase annotation while others may accomplish many use cases.

  • Element Details

    • description

      String description
      A simple 1 (at most 2) sentence description of the use case. This should not include any extraneous details, such as caveats, examples, etc. Those can be provided using the notes() method.
      Returns:
      a simple description of the use case
    • notes

      String notes
      Most of the time, 1-2 sentences is sufficient to describe a use case. Those 1-2 sentence should then be returned by the description(). In the event that the description is not sufficient, details may be provided to further explain, by providing examples, caveats, etc.
      Returns:
      any important notes that pertain to the use case
      Default:
      ""
    • inputRequirement

      Most Processors specify an InputRequirement of either INPUT_REQUIRED or InputRequirement.Requirement.INPUT_FORBIDDEN. However, some Processors use InputRequirement.Requirement.INPUT_ALLOWED because some use cases require input while others do not. The inputRequirement here is only relevant for Processors that use an InputRequirement of InputRequirement.Requirement.INPUT_ALLOWED and can indicate whether or not the Processor should have input (aka incoming Connections) for this particular use case.
      Returns:
      the InputRequirement that corresponds to this use case.
      Default:
      INPUT_ALLOWED
    • keywords

      String[] keywords
      An optional array of keywords that can be associated with the use case.
      Returns:
      keywords associated with the use case
      Default:
      {}
    • configuration

      String configuration
      A description of how to configure the extension for this particular use case.
      Returns:
      a description of how to configure the extension for this particular use case.
      Default:
      ""