Example usage for com.amazonaws.services.dynamodbv2.xspec ExpressionSpecBuilder NULL

List of usage examples for com.amazonaws.services.dynamodbv2.xspec ExpressionSpecBuilder NULL

Introduction

In this page you can find the example usage for com.amazonaws.services.dynamodbv2.xspec ExpressionSpecBuilder NULL.

Prototype

public static NULL NULL(String path) 

Source Link

Document

Creates a path operand that refers to a <a href= "http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html" >NULL attribute</a> for the purpose of building expressions.

Usage

From source file:com.github.fge.jsonpatch.PathValueOperation.java

License:LGPL

@Override
public void applyToBuilder(ExpressionSpecBuilder builder) {
    String attributePath = pathGenerator.apply(path);
    JsonNodeType type = value.getNodeType();
    switch (type) {
    case NUMBER:/*w w  w .j a va2  s  .  co m*/
        builder.addUpdate(ExpressionSpecBuilder.N(attributePath).set(value.numberValue()));
        break;

    case STRING:
        builder.addUpdate(ExpressionSpecBuilder.S(attributePath).set(value.textValue()));
        break;

    case BOOLEAN:
        builder.addUpdate(ExpressionSpecBuilder.BOOL(attributePath).set(value.booleanValue()));
        break;

    case NULL:
        builder.addUpdate(ExpressionSpecBuilder.NULL(attributePath).set());
        break;

    case ARRAY:
        if (value.iterator().hasNext() == false) {
            builder.addUpdate(ExpressionSpecBuilder.L(attributePath).set(Collections.emptyList()));
        } else {
            JsonNode repNode = value.iterator().next();
            if (repNode.isNumber()) {
                builder.addUpdate(ExpressionSpecBuilder.NS(attributePath).set(convertNumberList(value)));
            } else if (repNode.isTextual()) {
                builder.addUpdate(ExpressionSpecBuilder.SS(attributePath).set(convertStringList(value)));
            } else {
                throw new UnsupportedOperationException("Not implemented yet: " + repNode.getNodeType());
            }
        }
        break;

    case OBJECT:
        Map<String, ?> m = toMap(value);
        builder.addUpdate(ExpressionSpecBuilder.M(attributePath).set(m));
        break;

    default:
        // TODO Auto-generated method stub
        throw new UnsupportedOperationException("Not implemented yet: " + type);
    }
}