Package net.sf.eBus.feed.historic.store
Class SqlMessageStore.Builder
- java.lang.Object
-
- net.sf.eBus.feed.historic.store.SqlMessageStore.Builder
-
- Enclosing class:
- SqlMessageStore
public static final class SqlMessageStore.Builder extends Object
SqlMessageStoreinstances created using aBuilderinstance. ABuilderinstance is acquired fromSqlMessageStore.builder(Connection). The following attributes must be set to successfully build an SQL message store:-
non-
nulleBus notificationmessage key, -
non-
nullSQL insert statement generator, -
non-
nullSQL select statement generator, and -
non-
nullResultSet-to-eBus notification message decoder.
Once these values are correctly set, the target
SqlMessageStoreinstance is created by callingbuild().
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SqlMessageStorebuild()Returns newSqlMessageStorebased on this builder's settings.SqlMessageStore.BuilderinsertGenerator(IInsertGenerator generator)Sets SQL insert statement generator used to insert an eBus notification message into database.SqlMessageStore.Builderkey(EMessageKey key)Sets eBus notification message key.SqlMessageStore.BuildermessageDecoder(IMessageDecoder decoder)Sets decoder used to translate a result set (with givenmessage key) into an eBus notification message.SqlMessageStore.BuilderretrieveGenerator(IRetrieveGenerator generator)Sets SQL retrieve statement generator used to retrieve eBus notification messages from database for a given message key andinterval.
-
-
-
Method Detail
-
key
public SqlMessageStore.Builder key(EMessageKey key)
Sets eBus notification message key. All message stored or retrieved from database must have this message key.- Parameters:
key- eBus notification message key.- Returns:
this Builderinstance.- Throws:
NullPointerException- ifkeyisnull.IllegalArgumentException- ifkeyis not an eBusnotification message.
-
insertGenerator
public SqlMessageStore.Builder insertGenerator(IInsertGenerator generator)
Sets SQL insert statement generator used to insert an eBus notification message into database.- Parameters:
generator- SQL insert statement generator.- Returns:
this Builderinstance.- Throws:
NullPointerException- ifgeneratorisnull.
-
retrieveGenerator
public SqlMessageStore.Builder retrieveGenerator(IRetrieveGenerator generator)
Sets SQL retrieve statement generator used to retrieve eBus notification messages from database for a given message key andinterval.- Parameters:
generator- SQL select statement generator.- Returns:
this Builderinstance.- Throws:
NullPointerException- ifgeneratorisnull.
-
messageDecoder
public SqlMessageStore.Builder messageDecoder(IMessageDecoder decoder)
Sets decoder used to translate a result set (with givenmessage key) into an eBus notification message.- Parameters:
decoder- result set decoder.- Returns:
this Builderinstance.- Throws:
NullPointerException- ifdecoderisnull.
-
build
public SqlMessageStore build()
Returns newSqlMessageStorebased on this builder's settings.- Returns:
- new SQL message store instance.
- Throws:
net.sf.eBus.util.ValidationException- if this builder's settings are incomplete or invalid.
-
-