Class SqlMessageStore.Builder

  • Enclosing class:
    SqlMessageStore

    public static final class SqlMessageStore.Builder
    extends Object
    SqlMessageStore instances created using a Builder instance. A Builder instance is acquired from SqlMessageStore.builder(Connection). The following attributes must be set to successfully build an SQL message store:
    • non-null eBus notification message key,
    • non-null SQL insert statement generator,
    • non-null SQL select statement generator, and
    • non-null ResultSet-to-eBus notification message decoder.

    Once these values are correctly set, the target SqlMessageStore instance is created by calling build().

    • Method Detail

      • 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 Builder instance.
        Throws:
        NullPointerException - if generator is null.
      • 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 and interval.
        Parameters:
        generator - SQL select statement generator.
        Returns:
        this Builder instance.
        Throws:
        NullPointerException - if generator is null.
      • build

        public SqlMessageStore build()
        Returns new SqlMessageStore based 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.