be.wegenenverkeer.atomium.server.slick

SlickFeedStore

case class SlickFeedStore[E](feedComponent: FeedComponent, feedName: String, title: Option[String], entriesTableName: String, ser: (E) ⇒ String, deser: (String) ⇒ E, url: Url)(implicit context: SlickJdbcContext) extends AbstractSlickFeedStore[E] with Product with Serializable

An AbstractFeedStore implementation that stores feeds and pages in a SQL database. This implementation requires that the entries table for each feed is explicitly created upfront.

E

type of the elements in the feed

feedComponent

the feedComponent trait to access the driver

feedName

the name of the feed

title

the optional title of the feed

entriesTableName

the name of the table storing the entries for this feed, must be created explicitly

ser

function to serialize an element to a String

deser

function to deserialize a String to an element

url

the base Url

Linear Supertypes
Serializable, Serializable, Product, Equals, AbstractSlickFeedStore[E], AbstractFeedStore[E, SlickJdbcContext], FeedStoreSupport[E], FeedStore[E, SlickJdbcContext], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SlickFeedStore
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AbstractSlickFeedStore
  7. AbstractFeedStore
  8. FeedStoreSupport
  9. FeedStore
  10. AnyRef
  11. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SlickFeedStore(feedComponent: FeedComponent, feedName: String, title: Option[String], entriesTableName: String, ser: (E) ⇒ String, deser: (String) ⇒ E, url: Url)(implicit context: SlickJdbcContext)

    feedComponent

    the feedComponent trait to access the driver

    feedName

    the name of the feed

    title

    the optional title of the feed

    entriesTableName

    the name of the table storing the entries for this feed, must be created explicitly

    ser

    function to serialize an element to a String

    deser

    function to deserialize a String to an element

    url

    the base Url

Type Members

  1. case class FeedEntry extends Product with Serializable

    Definition Classes
    FeedStoreSupport
  2. case class FeedParams extends Product with Serializable

    Definition Classes
    FeedStoreSupport
  3. case class ProcessedFeedEntries extends Product with Serializable

    Definition Classes
    FeedStoreSupport

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def close(): Unit

    Definition Classes
    FeedStore
  9. val deser: (String) ⇒ E

    function to deserialize a String to an element

  10. val entriesTableName: String

    the name of the table storing the entries for this feed, must be created explicitly

  11. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. val feedComponent: FeedComponent

    the feedComponent trait to access the driver

    the feedComponent trait to access the driver

    Definition Classes
    SlickFeedStoreAbstractSlickFeedStore
  13. def feedLink(startId: Long, count: Int, forward: Boolean): String

    Attributes
    protected
    Definition Classes
    FeedStoreSupport
  14. val feedName: String

    the name of the feed

  15. implicit val feedParams: FeedParams

    Definition Classes
    AbstractFeedStore
  16. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def generateEntryID(): String

    Attributes
    protected
    Definition Classes
    FeedStoreSupport
  18. val generator: Generator

    Definition Classes
    FeedStoreSupport
  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. def getEntryTableQuery: scala.slick.driver.JdbcProfile.SimpleQL.TableQuery[EntryTable]

    Attributes
    protected
    Definition Classes
    SlickFeedStoreAbstractSlickFeedStore
  21. def getFeed(start: Long, pageSize: Int, forward: Boolean)(implicit context: SlickJdbcContext): Option[FeedPage[E]]

    Definition Classes
    AbstractFeedStore → FeedStore
  22. def getFeedEntries(start: Long, count: Int, ascending: Boolean)(implicit context: SlickJdbcContext): List[FeedEntry]

    Retrieves entries with their sequence numbers from the feed

    Retrieves entries with their sequence numbers from the feed

    start

    the starting entry (inclusive), MUST be returned in the entries

    count

    the number of entries to return

    ascending

    if true return entries with sequence numbers >= start in ascending order else return entries with sequence numbers <= start in descending order

    returns

    the corresponding entries sorted accordingly

    Definition Classes
    AbstractSlickFeedStore → AbstractFeedStore
  23. def getHeadOfFeed(pageSize: Int)(implicit context: SlickJdbcContext): FeedPage[E]

    Definition Classes
    AbstractFeedStore → FeedStore
  24. def getMostRecentFeedEntries(count: Int)(implicit context: SlickJdbcContext): List[FeedEntry]

    retrieves the most recent entries from the feedstore sorted in descending order

    retrieves the most recent entries from the feedstore sorted in descending order

    count

    the amount of recent entries to return

    returns

    a list containing tuples of a sequence number and its corresponding entry and sorted by descending sequence number

    Definition Classes
    AbstractSlickFeedStore → AbstractFeedStore
  25. def getNextLink(id: Long, count: Int, next: Option[Long]): Option[Link]

    Definition Classes
    FeedStoreSupport
  26. def getNumberOfEntriesLowerThan(sequenceNr: Long, inclusive: Boolean = true)(implicit context: SlickJdbcContext): Long

    Definition Classes
    AbstractSlickFeedStore → AbstractFeedStore
  27. def getPreviousLink(id: Long, count: Int, previous: Option[Long]): Option[Link]

    Definition Classes
    FeedStoreSupport
  28. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  29. def link(l: String, start: Long, pageSize: Int, forward: Boolean): Link

    Attributes
    protected
    Definition Classes
    FeedStoreSupport
  30. def maxId(implicit context: SlickJdbcContext): Long

    Definition Classes
    AbstractSlickFeedStore → AbstractFeedStore
  31. def minId(implicit context: SlickJdbcContext): Long

    returns

    one less than the minimum sequence number used in this feed since SQL sequences start at 1 this is 0. If your DB sequences start with another number override this class and modify accordingly

    Definition Classes
    AbstractSlickFeedStore → AbstractFeedStore
  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  35. def open(): Unit

    Definition Classes
    FeedStore
  36. def processBackwardEntries(start: Long, pageSize: Int, entries: List[FeedEntry]): ProcessedFeedEntries

    Definition Classes
    FeedStoreSupport
  37. def processFeedEntries(start: Long, minId: Long, pageSize: Int, forward: Boolean, entries: List[FeedEntry])(implicit feedParams: FeedParams): FeedPage[E]

    Definition Classes
    FeedStoreSupport
  38. def processForwardEntries(start: Long, pageSize: Int, entries: List[FeedEntry]): ProcessedFeedEntries

    Definition Classes
    FeedStoreSupport
  39. def processHeadFeedEntries(numberOfEntriesLower: Long, minId: Long, pageSize: Int, entries: List[FeedEntry])(implicit feedParams: FeedParams): FeedPage[E]

    Definition Classes
    FeedStoreSupport
  40. def push(uuid: String, entry: E)(implicit context: SlickJdbcContext): Unit

    Definition Classes
    AbstractSlickFeedStore → FeedStore
  41. def push(entries: Iterable[E])(implicit context: SlickJdbcContext): Unit

    Definition Classes
    AbstractSlickFeedStore → FeedStore
  42. def push(entry: E)(implicit context: SlickJdbcContext): Unit

    Definition Classes
    FeedStore
  43. val ser: (E) ⇒ String

    function to serialize an element to a String

  44. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  45. val title: Option[String]

    the optional title of the feed

  46. def toFeed(pageSize: Int, minId: Long, entries: List[FeedEntry], previousEntryId: Option[Long], nextEntryId: Option[Long])(implicit feedParams: FeedParams): FeedPage[E]

    Definition Classes
    FeedStoreSupport
  47. val url: Url

    the base Url

  48. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AbstractSlickFeedStore[E]

Inherited from AbstractFeedStore[E, SlickJdbcContext]

Inherited from FeedStoreSupport[E]

Inherited from FeedStore[E, SlickJdbcContext]

Inherited from AnyRef

Inherited from Any

Ungrouped