Class CliChannelFactory

java.lang.Object
com.tnsai.channels.cli.CliChannelFactory
All Implemented Interfaces:
ChannelAdapterFactory

public final class CliChannelFactory extends Object implements ChannelAdapterFactory
SPI factory for CliChannel.

Mode is selected from the config argument: any string equal to "json" (case-insensitive) yields CliChannel.Mode.JSON; everything else (including null) defaults to CliChannel.Mode.REPL.

Always available — the CLI adapter has no native SDK to probe for, only stdin/stdout.

  • Constructor Details

    • CliChannelFactory

      public CliChannelFactory()
  • Method Details

    • getType

      public String getType()
      Description copied from interface: ChannelAdapterFactory
      Unique type identifier for this channel (e.g. "telegram", "discord", "slack").
      Specified by:
      getType in interface ChannelAdapterFactory
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: ChannelAdapterFactory
      Human-readable display name for UI and logging.
      Specified by:
      getDisplayName in interface ChannelAdapterFactory
    • create

      public ChannelAdapter create(Object config)
      Description copied from interface: ChannelAdapterFactory
      Creates a new adapter instance with the given configuration.
      Specified by:
      create in interface ChannelAdapterFactory
      Parameters:
      config - platform-specific configuration (e.g. bot token, webhook URL)
      Returns:
      a configured but not yet started adapter
    • isAvailable

      public boolean isAvailable()
      Description copied from interface: ChannelAdapterFactory
      Whether the required platform SDK classes are on the classpath.

      This allows consumers to discover which adapters are actually usable at runtime, since platform SDKs are optional dependencies.

      Specified by:
      isAvailable in interface ChannelAdapterFactory
      Returns:
      true if all required dependencies are available