Annotation Interface ConnectorAttribute


@Retention(CLASS) @Target(TYPE) @Repeatable(ConnectorAttributes.class) public @interface ConnectorAttribute
Connector implementor can use this annotation to document attributes supported by their connector. This allows tools (IDE, annotation processors...) to extract that data to provide code completion or documentation generation. Each attribute is represented by an instance of ConnectorAttribute. For example:
 {@code
  @ConnectorAttribute(name = "bootstrap.servers", alias = "kafka.bootstrap.servers", type = "string",
      defaultValue = "localhost:9092", direction = Direction.INCOMING_AND_OUTGOING,
      description = "...")
  @ConnectorAttribute(name = "topic", type = "string", direction = Direction.INCOMING_AND_OUTGOING,
      description = "...")
  @ConnectorAttribute(name = "value-deserialization-failure-handler", type = "string", direction = Direction.INCOMING,
      description = "...")
  @ConnectorAttribute(name = "merge", direction = OUTGOING, type = "boolean", defaultValue = "false",
      description = "...")
  @Connector("my-connector")
  public class MyConnector implements  IncomingConnectorFactory, OutgoingConnectorFactory {
    ...
 }
 </pre>
  • Field Details

    • NO_VALUE

      static final String NO_VALUE
      The constant used to indicate that the attribute has no default value or no alias.
      See Also:
  • Element Details

    • name

      String name
      Returns:
      the attribute name, must not be null, must not be blank, must be unique for a specific connector
    • description

      String description
      Returns:
      the description of the attribute.
    • direction

      Returns:
      on which direction the attribute is used.
    • type

      String type
      Returns:
      the java type of the property.
    • hidden

      boolean hidden
      Returns:
      whether the attribute must be hidden.
      Default:
      false
    • mandatory

      boolean mandatory
      Returns:
      whether the attribute is mandatory.
      Default:
      false
    • defaultValue

      String defaultValue
      Returns:
      the default value if any.
      Default:
      "<no-value>"
    • deprecated

      boolean deprecated
      Returns:
      whether the attribute is deprecated.
      Default:
      false
    • alias

      String alias
      Returns:
      the optional MicroProfile Config property used to configure the attribute.
      Default:
      "<no-value>"