Package

io.atlassian.aws

dynamodb

Permalink

package dynamodb

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. dynamodb
  2. DynamoStringType
  3. QueryTypes
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait Column[A] extends AnyRef

    Permalink
  2. trait ColumnComposites extends AnyRef

    Permalink
  3. sealed trait Comparison extends AnyRef

    Permalink
    Definition Classes
    QueryTypes
  4. case class Decoder[A] extends Product with Serializable

    Permalink

    Represents a function that tries to convert an AttributeValue into a Scala value (typically that represents a field in an object).

  5. type DynamoDBAction[A] = AwsAction[AmazonDynamoDB, MetaData, A]

    Permalink
  6. type DynamoMap = Map[String, AttributeValue]

    Permalink
  7. type DynamoString = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink

    A DynamoString is a string that is compatible with Dynamo, specifically an empty string is encoded as a 0 char.

    A DynamoString is a string that is compatible with Dynamo, specifically an empty string is encoded as a 0 char.

    Definition Classes
    DynamoStringType
  8. trait DynamoStringType extends AnyRef

    Permalink
  9. case class Encoder[A](run: (A) ⇒ Option[AttributeValue]) extends Product with Serializable

    Permalink
  10. type Field[A] = (String, Value)

    Permalink
  11. type KeyValue = Map[String, Value]

    Permalink
  12. case class NamedColumn[A](name: String, column: Column[A]) extends Product with Serializable

    Permalink

    A specific field/column in a table.

    A specific field/column in a table. Has a name and an Encoder/Decoder to prepare the encoded representation to the Dynamo driver, and to return the de-serialized value back from the database, respectively.

  13. case class NonEmptyBytes extends Product with Serializable

    Permalink
  14. case class Page[KR, V](result: List[V], next: Option[KR]) extends Product with Serializable

    Permalink
    Definition Classes
    QueryTypes
  15. trait Queries extends AnyRef

    Permalink

    Queries is defined in terms of Hash and Range types.

    Queries is defined in terms of Hash and Range types.

    The Hash type identifies records and the Range allows us to do ordering.

  16. trait QueryTypes extends AnyRef

    Permalink
  17. sealed trait ScanDirection extends AnyRef

    Permalink
    Definition Classes
    QueryTypes
  18. trait Table extends Queries

    Permalink

    A key-value table.

    A key-value table.

    Implementations have concrete key and value types, as well as queryable hash and range types.

    Table returns DBActions that are pure values (DBOps that line inside Free) and can be chained together with map/flatMap (ie. there is a monad for DBAction.

    You can get an interpreter for DBActions (to any arbitrary C[_]) by supplying a DBOp ~> C natural transformation.

  19. case class TableDefinition[K, V, H, R] extends Product with Serializable

    Permalink
  20. type Unmarshaller[A] = Kleisli[Attempt, DynamoMap, A]

    Permalink
  21. type Value = Option[AttributeValue]

    Permalink

Value Members

  1. object Column extends ColumnComposites

    Permalink
  2. object Comparison

    Permalink
    Definition Classes
    QueryTypes
  3. object Decoder extends Serializable

    Permalink

    Contains the implicit decoders for different types.

    Contains the implicit decoders for different types. Custom decoders are derived from this base set.

  4. object DynamoDB

    Permalink

    Contains functions that perform operations on a DynamoDB table.

    Contains functions that perform operations on a DynamoDB table. Functions return a DynamoDBAction that can be run by providing an instance of an AmazonDynamoDBClient (see DynamoDBClient for convenient constructor functions).

    This class is generally not intended to be used directly, but used through the Table algebra with column definitions.

    Tables are represented as key-value mappings, so you need classes to represent the key and the value. In addition, you need to create instances of: * TODO describe new Column based definition * Table - specify the key, value, hash key and range key types, and a TableDefinition (which includes a name, the key types, and a couple of other DynamoDB parameters). * Columns - Columns map your Scala types into columns in DynamoDB i.e. start with a Column with a name for each column in DynamoDB, and then create composite columns using Column.composeX to be able to map your high-level Scala classes. * Encoders/Decoders - Under the covers, we use Encoders/Decoders to convert 'primitive' or low-level Scala types into suitable values for DynamoDB (ints, strings, dates). In most cases you don't need to be concerned with Encoders/Decoders (they will be picked up automatically in your Column definition). However, you you can extend the standard set if you need to.

  5. object DynamoDBAction extends Functions[AmazonDynamoDB, MetaData] with Serializable

    Permalink
  6. object DynamoDBClient extends AmazonClientBase[AmazonDynamoDBClient]

    Permalink
  7. object DynamoDBStreamsClient extends AmazonClientBase[AmazonDynamoDBStreamsClient]

    Permalink
  8. object DynamoString extends aws.Tagger[String]

    Permalink
    Definition Classes
    DynamoStringType
  9. object Encoder extends Serializable

    Permalink
  10. object NonEmptyBytes extends Serializable

    Permalink
  11. object ScanDirection

    Permalink
    Definition Classes
    QueryTypes
  12. object TableDefinition extends Serializable

    Permalink
  13. object Write

    Permalink

Inherited from DynamoStringType

Inherited from QueryTypes

Inherited from AnyRef

Inherited from Any

Ungrouped