Packages

object DynamoFormat extends EnumDynamoFormat with Serializable

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DynamoFormat
  2. Serializable
  3. Serializable
  4. EnumDynamoFormat
  5. LowPriorityDynamoFormat
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait AllOps[T] extends Ops[T]
  2. trait Ops[T] extends AnyRef
  3. trait ToDynamoFormatOps extends AnyRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit val BigDecimalSetFormat: DynamoFormat[Set[BigDecimal]]

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> import org.scalacheck._
    prop> implicit def arbNonEmptySet[T: Arbitrary] = Arbitrary(Gen.nonEmptyContainerOf[Set, T](Arbitrary.arbitrary[T]))
    
    prop> (s: Set[BigDecimal]) =>
        | val av = new AttributeValue().withNS(s.toList.map(_.toString): _*)
        | DynamoFormat[Set[BigDecimal]].write(s) == av &&
        |   DynamoFormat[Set[BigDecimal]].read(av) == Right(s)
    
    >>> DynamoFormat[Set[BigDecimal]].write(Set.empty).getNULL
    true
  5. val NullAv: AttributeValue
  6. def apply[T](implicit instance: DynamoFormat[T]): DynamoFormat[T]
    Annotations
    @inline()
  7. implicit def arrayFormat[T](implicit arg0: ClassTag[T], f: DynamoFormat[T]): DynamoFormat[Array[T]]

    prop> (a: Array[String]) =>
        | DynamoFormat[Array[String]].read(DynamoFormat[Array[String]].write(a)).right.getOrElse(Array("error")).deep ==
        |   a.deep
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. implicit val bigDecimalFormat: DynamoFormat[BigDecimal]

    prop> (d: BigDecimal) =>
        | DynamoFormat[BigDecimal].read(DynamoFormat[BigDecimal].write(d)) == Right(d)
  10. implicit val booleanFormat: DynamoFormat[Boolean]

    prop> (b: Boolean) =>
        | DynamoFormat[Boolean].read(DynamoFormat[Boolean].write(b)) == Right(b)
  11. implicit val byteArrayFormat: DynamoFormat[Array[Byte]]

    prop> (ab:Array[Byte]) =>
        | DynamoFormat[Array[Byte]].read(DynamoFormat[Array[Byte]].write(ab)) == Right(ab)
  12. implicit val byteFormat: DynamoFormat[Byte]

    prop> (b: Byte) =>
        | DynamoFormat[Byte].read(DynamoFormat[Byte].write(b)) == Right(b)
  13. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  14. def coercedXmap[A, B, T >: Null <: Throwable](read: (B) ⇒ A)(write: (A) ⇒ B)(implicit f: DynamoFormat[B], T: ClassTag[T], NT: NotNull[T]): DynamoFormat[A]

    Returns a DynamoFormat for the case where A can always be converted B, with write, but read may throw an exception for some value of B

    Returns a DynamoFormat for the case where A can always be converted B, with write, but read may throw an exception for some value of B

    >>> import org.joda.time._
    
    >>> val jodaStringFormat = DynamoFormat.coercedXmap[LocalDate, String, IllegalArgumentException](
    ...   LocalDate.parse
    ... )(
    ...   _.toString
    ... )
    >>> jodaStringFormat.read(jodaStringFormat.write(new LocalDate(2007, 8, 18)))
    Right(2007-08-18)
    
    >>> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    >>> jodaStringFormat.read(new AttributeValue().withS("Togtogdenoggleplop"))
    Left(TypeCoercionError(java.lang.IllegalArgumentException: Invalid format: "Togtogdenoggleplop"))
  15. implicit val doubleFormat: DynamoFormat[Double]

    prop> (d: Double) =>
        | DynamoFormat[Double].read(DynamoFormat[Double].write(d)) == Right(d)
  16. implicit val doubleSetFormat: DynamoFormat[Set[Double]]

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> import org.scalacheck._
    prop> implicit def arbNonEmptySet[T: Arbitrary] = Arbitrary(Gen.nonEmptyContainerOf[Set, T](Arbitrary.arbitrary[T]))
    
    prop> (s: Set[Double]) =>
        | val av = new AttributeValue().withNS(s.toList.map(_.toString): _*)
        | DynamoFormat[Set[Double]].write(s) == av &&
        |   DynamoFormat[Set[Double]].read(av) == Right(s)
    
    >>> DynamoFormat[Set[Double]].write(Set.empty).getNULL
    true
  17. implicit def dynamoFormat[T](implicit exported: Exported[DynamoFormat[T]]): DynamoFormat[T]
    Definition Classes
    LowPriorityDynamoFormat
  18. implicit def enumDynamoFormatCCons[K <: Symbol, V, R <: Coproduct](implicit fieldWitness: Aux[K], emptyGeneric: Aux[V, HNil], alternativeFormat: EnumerationDynamoFormat[R]): EnumerationDynamoFormat[:+:[FieldType[K, V], R]]
    Definition Classes
    EnumDynamoFormat
  19. implicit val enumDynamoFormatCNil: EnumerationDynamoFormat[CNil]
    Definition Classes
    EnumDynamoFormat
  20. implicit def enumFormat[A, Repr <: Coproduct](implicit gen: Aux[A, Repr], genericFormat: EnumerationDynamoFormat[Repr]): EnumerationDynamoFormat[A]
    Definition Classes
    EnumDynamoFormat
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  23. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. implicit val floatFormat: DynamoFormat[Float]

    prop> (d: Float) =>
        | DynamoFormat[Float].read(DynamoFormat[Float].write(d)) == Right(d)
  25. implicit val floatSetFormat: DynamoFormat[Set[Float]]

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> import org.scalacheck._
    prop> implicit def arbNonEmptySet[T: Arbitrary] = Arbitrary(Gen.nonEmptyContainerOf[Set, T](Arbitrary.arbitrary[T]))
    
    prop> (s: Set[Float]) =>
        | val av = new AttributeValue().withNS(s.toList.map(_.toString): _*)
        | DynamoFormat[Set[Float]].write(s) == av &&
        |   DynamoFormat[Set[Float]].read(av) == Right(s)
    
    >>> DynamoFormat[Set[Float]].write(Set.empty).getNULL
    true
  26. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. implicit val intFormat: DynamoFormat[Int]

    prop> (i: Int) =>
        | DynamoFormat[Int].read(DynamoFormat[Int].write(i)) == Right(i)
  29. implicit val intSetFormat: DynamoFormat[Set[Int]]

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> import org.scalacheck._
    prop> implicit def arbNonEmptySet[T: Arbitrary] = Arbitrary(Gen.nonEmptyContainerOf[Set, T](Arbitrary.arbitrary[T]))
    
    prop> (s: Set[Int]) =>
        | val av = new AttributeValue().withNS(s.toList.map(_.toString): _*)
        | DynamoFormat[Set[Int]].write(s) == av &&
        |   DynamoFormat[Set[Int]].read(av) == Right(s)
    
    >>> DynamoFormat[Set[Int]].write(Set.empty).getNULL
    true
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. def iso[A, B](r: (B) ⇒ A)(w: (A) ⇒ B)(implicit f: DynamoFormat[B]): DynamoFormat[A] { val default: Option[A] }

    Returns a DynamoFormat for the case where A and B are isomorphic, i.e.

    Returns a DynamoFormat for the case where A and B are isomorphic, i.e. an A can always be converted to a B and vice versa.

    If there are some values of B that have no corresponding value in A, use DynamoFormat.xmap or DynamoFormat.coercedXmap.

    >>> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    
    >>> case class UserId(value: String)
    
    >>> implicit val userIdFormat =
    ...   DynamoFormat.iso[UserId, String](UserId.apply)(_.value)
    >>> DynamoFormat[UserId].read(new AttributeValue().withS("Eric"))
    Right(UserId(Eric))
  32. val javaListFormat: DynamoFormat[List[AttributeValue]]
  33. implicit def listFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[List[T]]

    prop> (l: List[String]) =>
        | DynamoFormat[List[String]].read(DynamoFormat[List[String]].write(l)) ==
        |   Right(l)
  34. implicit val longFormat: DynamoFormat[Long]

    prop> (l: Long) =>
        | DynamoFormat[Long].read(DynamoFormat[Long].write(l)) == Right(l)
  35. implicit val longSetFormat: DynamoFormat[Set[Long]]

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> import org.scalacheck._
    prop> implicit def arbNonEmptySet[T: Arbitrary] = Arbitrary(Gen.nonEmptyContainerOf[Set, T](Arbitrary.arbitrary[T]))
    
    prop> (s: Set[Long]) =>
        | val av = new AttributeValue().withNS(s.toList.map(_.toString): _*)
        | DynamoFormat[Set[Long]].write(s) == av &&
        |   DynamoFormat[Set[Long]].read(av) == Right(s)
    
    >>> DynamoFormat[Set[Long]].write(Set.empty).getNULL
    true
  36. implicit def mapFormat[V](implicit f: DynamoFormat[V]): DynamoFormat[Map[String, V]]

    prop> (m: Map[String, Int]) =>
        | DynamoFormat[Map[String, Int]].read(DynamoFormat[Map[String, Int]].write(m)) ==
        |   Right(m)
  37. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  40. implicit def optionFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Option[T]] { val default: Some[None.type] }

    prop> (o: Option[Long]) =>
        | DynamoFormat[Option[Long]].read(DynamoFormat[Option[Long]].write(o)) ==
        |   Right(o)
    
    >>> DynamoFormat[Option[Long]].read(new com.amazonaws.services.dynamodbv2.model.AttributeValue().withNULL(true))
    Right(None)
    
    >>> DynamoFormat[Option[Long]].write(None).isNULL()
    true
  41. implicit def seqFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Seq[T]]

    prop> (sq: Seq[String]) =>
        | DynamoFormat[Seq[String]].read(DynamoFormat[Seq[String]].write(sq)) ==
        |   Right(sq)
  42. implicit val shortFormat: DynamoFormat[Short]

    prop> (s: Short) =>
        | DynamoFormat[Short].read(DynamoFormat[Short].write(s)) == Right(s)
  43. implicit def someFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Some[T]]

    This ensures that if, for instance, you specify an update with Some(5) rather than making the type of Option explicit, it doesn't fall back to auto-derivation

  44. implicit val stringFormat: DynamoFormat[String]

    prop> (s: String) =>
        | DynamoFormat[String].read(DynamoFormat[String].write(s)) == Right(s)
  45. implicit val stringSetFormat: DynamoFormat[Set[String]]

    prop> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    prop> import org.scalacheck._
    prop> implicit val arbSet = Arbitrary(Gen.nonEmptyContainerOf[Set, String](Arbitrary.arbitrary[String]))
    
    prop> (s: Set[String]) =>
        | val av = new AttributeValue().withSS(s.toList: _*)
        | DynamoFormat[Set[String]].write(s) == av &&
        |   DynamoFormat[Set[String]].read(av) == Right(s)
    
    >>> DynamoFormat[Set[String]].write(Set.empty).getNULL
    true
  46. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  47. def toString(): String
    Definition Classes
    AnyRef → Any
  48. implicit val uuidFormat: DynamoFormat[UUID]

    prop> (uuid: java.util.UUID) =>
        | DynamoFormat[java.util.UUID].read(DynamoFormat[java.util.UUID].write(uuid)) ==
        |   Right(uuid)
  49. implicit def vectorFormat[T](implicit f: DynamoFormat[T]): DynamoFormat[Vector[T]]

    prop> (v: Vector[String]) =>
        | DynamoFormat[Vector[String]].read(DynamoFormat[Vector[String]].write(v)) ==
        |   Right(v)
  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  53. def xmap[A, B](r: (B) ⇒ Either[DynamoReadError, A])(w: (A) ⇒ B)(implicit f: DynamoFormat[B]): DynamoFormat[A]

    >>> import org.joda.time._
    >>> import com.amazonaws.services.dynamodbv2.model.AttributeValue
    
    >>> implicit val jodaLongFormat = DynamoFormat.xmap[DateTime, Long](
    ...   l => Right(new DateTime(l).withZone(DateTimeZone.UTC))
    ... )(
    ...   _.withZone(DateTimeZone.UTC).getMillis
    ... )
    >>> DynamoFormat[DateTime].read(new AttributeValue().withN("0"))
    Right(1970-01-01T00:00:00.000Z)
  54. object nonInheritedOps extends ToDynamoFormatOps
  55. object ops

Inherited from Serializable

Inherited from Serializable

Inherited from EnumDynamoFormat

Inherited from LowPriorityDynamoFormat

Inherited from AnyRef

Inherited from Any

Ungrouped