Class ConsumerBlueprint

java.lang.Object
io.fluxzero.sdk.registry.ConsumerBlueprint
All Implemented Interfaces:
AutoCloseable

public final class ConsumerBlueprint extends Object implements AutoCloseable
Lifecycle-bound projection of the effective handlers assigned to one consumer. The same contract can later be supplied by generated metadata; it contains no application objects or executable code on the wire.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ConsumerBlueprint(Serializer serializer, Supplier<io.fluxzero.common.api.tracking.ConsumerFilter> handlers, LongSupplier revisions)
     
    ConsumerBlueprint(Serializer serializer, Supplier<io.fluxzero.common.api.tracking.ConsumerFilter> handlers, LongSupplier revisions, UnaryOperator<io.fluxzero.common.api.tracking.ConsumerFilter> inputProjection)
    Projects the serializer's required inputs through an upstream serialized-message transformation, such as a batch interceptor chain.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    io.fluxzero.common.api.tracking.ConsumerFilter
    Current immutable projection, including its monotonic application-local revision.
    boolean
    mayHandle(io.fluxzero.common.api.SerializedMessage message)
    Whether the current conservative projection admits this serialized input, without executing application code.
    io.fluxzero.common.Registration
    observe(Consumer<io.fluxzero.common.api.tracking.ConsumerFilter> listener)
    Observes future projections.
    void
    Publishes a new projection after registration changes; listeners establish the remote activation boundary.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ConsumerBlueprint

      public ConsumerBlueprint(Serializer serializer, Supplier<io.fluxzero.common.api.tracking.ConsumerFilter> handlers, LongSupplier revisions)
    • ConsumerBlueprint

      public ConsumerBlueprint(Serializer serializer, Supplier<io.fluxzero.common.api.tracking.ConsumerFilter> handlers, LongSupplier revisions, UnaryOperator<io.fluxzero.common.api.tracking.ConsumerFilter> inputProjection)
      Projects the serializer's required inputs through an upstream serialized-message transformation, such as a batch interceptor chain. A null projection result means unknown selection and retains broad delivery.
  • Method Details

    • getFilter

      public io.fluxzero.common.api.tracking.ConsumerFilter getFilter()
      Current immutable projection, including its monotonic application-local revision.
    • mayHandle

      public boolean mayHandle(io.fluxzero.common.api.SerializedMessage message)
      Whether the current conservative projection admits this serialized input, without executing application code.
    • refresh

      public void refresh()
      Publishes a new projection after registration changes; listeners establish the remote activation boundary. Every listener is notified even when another fails. Activation failures remain visible to the caller.
    • observe

      public io.fluxzero.common.Registration observe(Consumer<io.fluxzero.common.api.tracking.ConsumerFilter> listener)
      Observes future projections. Newly opened reads always carry getFilter() themselves.
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable