Annotation Type 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:
      @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 {
        ...
     }
     
    • Field Detail

      • NO_VALUE

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

      • 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.
      • 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>"