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:
 * 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.
A legacy marshaller that marshals sets of arbitrary Java objects into DynamoDB StringSets by using java.lang.String.valueOf(java.lang.Object). Retained for backwards compatibility in case someone is relying on this, but logs a warning if ever used since we only know how to unmarshal back to Java Strings.
        implements StringSetAttributeMarshaller {
    private static final Log LOG =
    private static final ObjectSetToStringSetMarshaller INSTANCE =
            new ObjectSetToStringSetMarshaller();
    public static ObjectSetToStringSetMarshaller instance() {
        return ;
    private ObjectSetToStringSetMarshaller() {
    public AttributeValue marshall(Object obj) {
        Set<?> set = (Set<?>) obj;
        .warn("Marshaling a set of non-String objects to a DynamoDB "
                + "StringSet. You won't be able to read these objects back "
                + "out of DynamoDB unless you REALLY know what you're doing: "
                + "it's probably a bug. If you DO know what you're doing feel"
                + "free to ignore this warning, but consider using a custom "
                + "marshaler for this instead.");
        List<Stringstrings = new ArrayList<String>(set.size());
        for (Object o : set) {
        return new AttributeValue().withSS(strings);
New to GrepCode? Check out our FAQ X