Package net.sf.eBus.client
Class EMultiPublishFeed.Builder
- java.lang.Object
-
- net.sf.eBus.client.EFeed.Builder<M,T,B>
-
- net.sf.eBus.client.EMultiFeed.Builder<ENotificationMessage,EPublishFeed,EPublisher,EMultiPublishFeed,EMultiPublishFeed.Builder>
-
- net.sf.eBus.client.EMultiPublishFeed.Builder
-
- Enclosing class:
- EMultiPublishFeed
public static final class EMultiPublishFeed.Builder extends EMultiFeed.Builder<ENotificationMessage,EPublishFeed,EPublisher,EMultiPublishFeed,EMultiPublishFeed.Builder>
EMultiPublishFeed.Builderis the mechanism for creating anEMultiPublishFeedinstance. ABuilderinstance is acquired fromEMultiPublishFeed.builder(). The following example shows how to create anEMultiPublishFeedinstance using aBuilder. The code assumes that the target class implementsEPublisherinterfacefeedStatusmethod.@Overricde public void startup() { final EMultiPublishFeed feed = (EMultiPublishFeed.builder()).target(this) .messageClass(CatalogUpdate.class) .scope(EFeed.FeedScope.LOCAL_AND_REMOTE) // Call .statusCallback(lambda expression) to replace feedStatus method .build(); ... }
-
-
Field Summary
-
Fields inherited from class net.sf.eBus.client.EMultiFeed.Builder
mFeeds, mMsgClass, mTargetMsgClass
-
Fields inherited from class net.sf.eBus.client.EFeed.Builder
mEClient, mLocation, mScope, mTarget, mTargetClass
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected EMultiPublishFeedbuildImpl()Returns an eBus feed instance build from the configured properties.protected EPublishFeedcreateFeed(EMessageKey key)Returns a subordinate feed for the given message key.protected EMultiPublishFeed.Builderself()Returnsthisreference.EMultiPublishFeed.BuilderstatusCallback(FeedStatusCallback<IEPublishFeed> cb)Puts the publish status callback in place.protected Validatorvalidate(Validator problems)Checks if message class and query (if this is a query-based multi-feed) are set.-
Methods inherited from class net.sf.eBus.client.EMultiFeed.Builder
messageClass, query, subjects
-
Methods inherited from class net.sf.eBus.client.EFeed.Builder
build, isOverridden, scope, target
-
-
-
-
Method Detail
-
validate
protected Validator validate(Validator problems)
Description copied from class:EMultiFeed.BuilderChecks if message class and query (if this is a query-based multi-feed) are set.- Overrides:
validatein classEMultiFeed.Builder<ENotificationMessage,EPublishFeed,EPublisher,EMultiPublishFeed,EMultiPublishFeed.Builder>- Parameters:
problems- report configuration failures to this validator.- Returns:
problems.
-
createFeed
protected EPublishFeed createFeed(EMessageKey key)
Description copied from class:EMultiFeed.BuilderReturns a subordinate feed for the given message key.Note: this method is called after the builder validation.
- Specified by:
createFeedin classEMultiFeed.Builder<ENotificationMessage,EPublishFeed,EPublisher,EMultiPublishFeed,EMultiPublishFeed.Builder>- Parameters:
key- subordinate feed's message key.- Returns:
- subordinate feed.
-
buildImpl
protected EMultiPublishFeed buildImpl()
Description copied from class:EFeed.BuilderReturns an eBus feed instance build from the configured properties. Note: the builder configuration wasvalidatedprior to calling this method. The message object may now be constructed.- Specified by:
buildImplin classEFeed.Builder<EMultiPublishFeed,EPublisher,EMultiPublishFeed.Builder>- Returns:
- target feed instance.
-
self
protected EMultiPublishFeed.Builder self()
Returnsthisreference.- Specified by:
selfin classEFeed.Builder<EMultiPublishFeed,EPublisher,EMultiPublishFeed.Builder>- Returns:
thisreference.
-
statusCallback
public EMultiPublishFeed.Builder statusCallback(FeedStatusCallback<IEPublishFeed> cb)
Puts the publish status callback in place. Ifcbis notnull, publish status updates will be passed tocbrather thanEPublisher.publishStatus(EFeedState, IEPublishFeed). The reverse is true, ifcbisnull, then updates are posted to theEPublisher.publishStatus(EFeedState, IEPublishFeed)override.The following example shows how to use this method:
statusCallback( (fs, f) → { if (fs == EFeedState.DOWN) { // Clean up in-progress work. } }- Parameters:
cb- publish status update callback. May benull.- Returns:
this Builderinstance.
-
-