Class MessagingService.Builder

java.lang.Object
dev.ua.theroer.magicutils.messaging.MessagingService.Builder
Enclosing class:
MessagingService

public static final class MessagingService.Builder extends Object
Builder that wires the transport and bus together.
  • Method Details

    • redis

      public MessagingService.Builder redis(@Nullable RedisConfig.Redis redis)
      Supplies Redis settings; when enabled, the Redis transport is used.
      Parameters:
      redis - redis settings (nullable → treated as disabled)
      Returns:
      builder
    • defaultTransport

      public MessagingService.Builder defaultTransport(Supplier<MessageTransport> defaultTransport)
      Supplies the platform's default (plugin-messaging) transport factory, used when Redis is disabled or unavailable.
      Parameters:
      defaultTransport - factory for the default transport
      Returns:
      builder
    • codec

      public MessagingService.Builder codec(MessageCodec codec)
      Overrides the codec used for envelope/payload serialization.
      Parameters:
      codec - message codec
      Returns:
      builder
    • logger

      public MessagingService.Builder logger(PlatformLogger logger)
      Sets the logger.
      Parameters:
      logger - platform logger
      Returns:
      builder
    • hostsPlayer

      public MessagingService.Builder hostsPlayer(@Nullable @Nullable Predicate<UUID> hostsPlayer)
      Sets the player-hosting predicate for Target.player(UUID) delivery.
      Parameters:
      hostsPlayer - predicate
      Returns:
      builder
    • build

      public MessagingService build()
      Builds the service, selecting and starting the transport.
      Returns:
      messaging service