Package net.solarnetwork.node.service
Interface DatumQueue
- All Known Implementing Classes:
DefaultDatumQueue
public interface DatumQueue
Unified queue to process datum across all of SolarNode.
- Since:
- 1.89
- Version:
- 2.0
- Author:
- matt
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConsumer(Consumer<NodeDatum> consumer) Register a consumer to receive processed datum.default booleanOffer a new datum to the queue, with persistence enabled.booleanOffer a new datum to the queue, optionally persisting.voidremoveConsumer(Consumer<NodeDatum> consumer) De-register a previously registered consumer.
-
Field Details
-
EVENT_TOPIC_DATUM_ACQUIRED
AnEventtopic for when aGeneralDatumhas been acquired by aDatumQueue. This event happens after any possible queue filtering has been applied, which might filter out some of the datum offered to the queue or transform their contents. TheDatumEvents.DATUM_PROPERTYproperty will be set to the datum instance that was acquired. In addition, theDatum.DATUM_TYPE_PROPERTYproperty shall be populated with the name of the core class name of the datum type.- Since:
- 2.0
- See Also:
-
-
Method Details
-
offer
Offer a new datum to the queue, with persistence enabled.- Parameters:
datum- the datum to offer- Returns:
- true if the datum was accepted
-
offer
Offer a new datum to the queue, optionally persisting.- Parameters:
datum- the datum to offerpersist- true to persist, or false to only pass to consumers- Returns:
- true if the datum was accepted
-
addConsumer
Register a consumer to receive processed datum.- Parameters:
consumer- the consumer to register
-
removeConsumer
De-register a previously registered consumer.- Parameters:
consumer- the consumer to remove
-