case class Expression(expression: String, attributeNames: Map[String, String], attributeValues: Map[String, AttributeValue]) extends Product with Serializable
Abstraction over DynamoDB expressions, this can be key condition expression, update expression, projection expression etc.. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.html.
It is recommended to avoid DynamoDB's reserved words in expression string by providing expression as
raw String with attribute names and values as placeholders only. Attribute names and values can then
be replaced separately via attributeNames
and attributeValues
maps.
Example:
import meteor.Expression import meteor.syntax._ Expression( "#b = :my_bool and #i > :my_int", Map("#b" -> "my_bool_attribute_name", "#i" -> "my_int_attribute_name"), Map( ":my_bool" -> true.asAttributeValue, ":my_int" -> 0.asAttributeValue ) )
- expression
expression as raw String
- attributeNames
a map of attribute name placeholders in the raw String above to the actual attribute names in the table
- attributeValues
a map of attribute value placeholders in the raw String above to the actual attribute values
- Alphabetic
- By Inheritance
- Expression
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Expression(expression: String, attributeNames: Map[String, String], attributeValues: Map[String, AttributeValue])
- expression
expression as raw String
- attributeNames
a map of attribute name placeholders in the raw String above to the actual attribute names in the table
- attributeValues
a map of attribute value placeholders in the raw String above to the actual attribute values
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val attributeNames: Map[String, String]
- val attributeValues: Map[String, AttributeValue]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val expression: String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- val isEmpty: Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val nonEmpty: Boolean
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)