Package

com.snowplowanalytics.manifest

core

Permalink

package core

Visibility
  1. Public
  2. All

Type Members

  1. case class Agent(name: String, version: String) extends Product with Serializable

    Permalink

    Common entity for applications interacting with manifest

  2. final case class Application(agent: Agent, instanceId: Option[String]) extends Product with Serializable

    Permalink

    *Processing* application that added Record to manifest Unlike Author this can be added on behalf of other application

    *Processing* application that added Record to manifest Unlike Author this can be added on behalf of other application

    agent

    information about version and number

    instanceId

    optional app's arguments such as storage target id, allows two identical applications process same Item. Absent instance id is equal to wildcard

  3. final case class Author(agent: Agent, manifestVersion: String) extends Product with Serializable

    Permalink

    Processing or operational agent that added Record to manifest Unlike Application this is always real appliction that added record

    Processing or operational agent that added Record to manifest Unlike Application this is always real appliction that added record

    agent

    information about version and number

    manifestVersion

    version of embedded processing manifest

  4. final case class Item extends Product with Serializable

    Permalink

    Unit of manifest consisting of multiple records related to single run id Used to fold individual records and extract final app-specific item state

  5. sealed trait ManifestError extends AnyRef

    Permalink

    ADT representing error states

  6. abstract class ProcessingManifest[F[_]] extends AnyRef

    Permalink

    Base trait for processing manifest functionality

    Base trait for processing manifest functionality

    F

    effect producing by interaction with manifest

  7. final case class Record(itemId: ItemId, application: Application, recordId: UUID, previousRecordId: Option[UUID], state: State, timestamp: Instant, author: Author, payload: Option[Payload]) extends Product with Serializable

    Permalink

    Atomic unit of Item.

    Atomic unit of Item. Usually represented as immutable row in a DB table (manifest) Each record represents some state change of Item

    itemId

    string, uniquely identifying set of events (Item) e.g. FS path

    application

    application saved this Record

    recordId

    record uniq id

    previousRecordId

    "parent" record, being consumed but this record, e.g. parent - PROCESSING, this - FAILED

    timestamp

    application's **wallclock** timestamp. Note that this can be arbitrary, nothing guarantees its correctness

    author

    application that **actually** added the record (imposter)

    payload

    application's payload that can be used by subsequent applications/states

  8. sealed trait State extends Product with Serializable

    Permalink

    Item-application state

  9. sealed trait StateCheck extends AnyRef

    Permalink

    Possible state of Item: either Ok to process or blocked by some Record

Value Members

  1. object Agent extends Serializable

    Permalink
  2. object Application extends Serializable

    Permalink
  3. object Author extends Serializable

    Permalink
  4. object Common

    Permalink

    Helper functions

  5. object Item extends Serializable

    Permalink
  6. object ManifestError

    Permalink
  7. object Payload

    Permalink
  8. object ProcessingManifest

    Permalink
  9. object Record extends Serializable

    Permalink
  10. object State extends Serializable

    Permalink
  11. object StateCheck

    Permalink

Ungrouped