Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2014-2015 Amazon Technologies, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at:
  *
  *    http://aws.amazon.com/apache2.0
  *
 * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
 * OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and
 * limitations under the License.
 */
package com.amazonaws.services.dynamodbv2.datamodeling.unmarshallers;
An unmarshaller that unmarshals DynamoDB Bools (or Numbers) into Java Booleans. Numbers are handled for backwards compatibility with versions of the mapper written before the DynamoDB native Boolean type was added, which stored Java Booleans as either the Number 0 (false) or 1 (true).
public class BooleanUnmarshaller implements ArgumentUnmarshaller {
    private static final BooleanUnmarshaller INSTANCE =
            new BooleanUnmarshaller();
    public static BooleanUnmarshaller instance() {
        return ;
    }
    private BooleanUnmarshaller() {
    }
    @Override
    public void typeCheck(AttributeValue valueMethod setter) {
        if (value.getN() == null && value.getBOOL() == null) {
            throw new DynamoDBMappingException(
                    "Expected either N or BOOL in value " + value
                    + " when invoking " + setter);
        }
    }
    @Override
    public Object unmarshall(AttributeValue value) {
        if (value.getBOOL() != null) {
            return value.getBOOL();
        }
        if ("1".equals(value.getN())) {
            return .;
        }
        if ("0".equals(value.getN())) {
            return .;
        }
        throw new IllegalArgumentException(
                "Expected '1', '0', or BOOL value for boolean value, was "
                + value);
    }
New to GrepCode? Check out our FAQ X