p

io.atlassian.aws

dynamodb

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
  2. trait ColumnComposites extends AnyRef
  3. case class Decoder [A] extends Product with Serializable

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

  4. type DynamoDBAction[A] = AwsAction[AmazonDynamoDB, MetaData, A]
  5. type DynamoMap = Map[String, AttributeValue]
  6. type DynamoString = AnyRef { ... /* 2 definitions in type refinement */ }

    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
  7. trait DynamoStringType extends AnyRef
  8. case class Encoder [A](run: (A) ⇒ Option[AttributeValue]) extends Product with Serializable
  9. type Field[A] = (String, Value)
  10. type KeyValue = Map[String, Value]
  11. case class NamedColumn [A](name: String, column: Column[A]) extends Product with Serializable

    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.

  12. case class NonEmptyBytes extends Product with Serializable
  13. trait Queries extends AnyRef

    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.

  14. trait QueryTypes extends AnyRef
  15. sealed trait Comparison extends AnyRef
    Definition Classes
    QueryTypes
  16. case class Page [KR, V](result: List[V], next: Option[KR]) extends Product with Serializable
    Definition Classes
    QueryTypes
  17. sealed trait ScanDirection extends AnyRef
    Definition Classes
    QueryTypes
  18. trait Table extends Queries

    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
  20. type Unmarshaller[A] = Kleisli[Attempt, DynamoMap, A]
  21. type Value = Option[AttributeValue]

Value Members

  1. object Column extends ColumnComposites
  2. object Decoder extends Serializable

    Contains the implicit decoders for different types.

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

  3. object DynamoDB

    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.

  4. object DynamoDBAction extends Functions[AmazonDynamoDB, MetaData]
  5. object DynamoDBClient extends AmazonClientBase[AmazonDynamoDBClient]
  6. object DynamoDBStreamsClient extends AmazonClientBase[AmazonDynamoDBStreamsClient]
  7. object DynamoString extends aws.Tagger[String]
    Definition Classes
    DynamoStringType
  8. object Encoder extends Serializable
  9. object NonEmptyBytes extends Serializable
  10. object Comparison
    Definition Classes
    QueryTypes
  11. object ScanDirection
    Definition Classes
    QueryTypes
  12. object TableDefinition extends Serializable
  13. object Write

Inherited from DynamoStringType

Inherited from QueryTypes

Inherited from AnyRef

Inherited from Any

Ungrouped