Class ConsumerBlueprint
java.lang.Object
io.fluxzero.sdk.registry.ConsumerBlueprint
- All Implemented Interfaces:
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
ConstructorsConstructorDescriptionConsumerBlueprint(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 TypeMethodDescriptionvoidclose()io.fluxzero.common.api.tracking.ConsumerFilterCurrent immutable projection, including its monotonic application-local revision.booleanmayHandle(io.fluxzero.common.api.SerializedMessage message) Whether the current conservative projection admits this serialized input, without executing application code.io.fluxzero.common.RegistrationObserves future projections.voidrefresh()Publishes a new projection after registration changes; listeners establish the remote activation boundary.
-
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 carrygetFilter()themselves. -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-