Class ComponentDescriptor

java.lang.Object
io.debezium.metadata.ComponentDescriptor

public class ComponentDescriptor extends Object
  • Field Details

  • Constructor Details

    • ComponentDescriptor

      private ComponentDescriptor(String id, String displayName, String description, String className, String version, String type)
    • ComponentDescriptor

      public ComponentDescriptor(String className, String version)
    • ComponentDescriptor

      public ComponentDescriptor(String className, String displayName, String version)
    • ComponentDescriptor

      public ComponentDescriptor(String className, String displayName, String description, String version)
  • Method Details

    • getId

      public String getId()
    • getDisplayName

      public String getDisplayName()
    • getDescription

      public String getDescription()
    • getClassName

      public String getClassName()
    • getVersion

      public String getVersion()
    • getType

      public String getType()
    • determineComponentType

      private static String determineComponentType(String className)
      Determines the component type by checking which Kafka Connect interface the class implements. This is more reliable than string matching on class names.
      Parameters:
      className - the fully qualified class name
      Returns:
      the component type: "source-connector", "sink-connector", "transformation", "predicate", or "unknown"
    • determineComponentTypeByName

      private static String determineComponentTypeByName(String className)
      Fallback method that determines component type based on class name patterns. Used when the class cannot be loaded via reflection.

      Debezium naming convention: Classes ending in "Connector" (without "Sink" prefix) are source connectors by default.

    • isAssignableFrom

      private static boolean isAssignableFrom(Class<?> componentClass, String interfaceClassName)
      Checks if the given class is assignable from the specified interface/class name. Returns false if the interface class cannot be loaded.
    • equals

      public boolean equals(Object that)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object