Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.fasterxml.jackson.databind.util;
 
 import java.util.*;
 
Helper class used for storing String serializations of enumerations.
public final class EnumValues
{
    
Since 1.7, we are storing values as SerializedStrings, to further speed up serialization.
    private final EnumMap<?,SerializedString_values;
    @SuppressWarnings({ "unchecked""rawtypes" })
    private EnumValues(Map<Enum<?>,SerializedStringv) {
         = new EnumMap(v);
    }
    public static EnumValues construct(Class<Enum<?>> enumClassAnnotationIntrospector intr)
    {
        return constructFromName(enumClassintr);
    }
    public static EnumValues constructFromName(Class<Enum<?>> enumClassAnnotationIntrospector intr)
    {
        /* [JACKSON-214]: Enum types with per-instance sub-classes
         *   need special handling
         */
    	Class<? extends Enum<?>> cls = ClassUtil.findEnumType(enumClass);
        Enum<?>[] values = cls.getEnumConstants();
        if (values != null) {
            // Type juggling... unfortunate
            Map<Enum<?>,SerializedStringmap = new HashMap<Enum<?>,SerializedString>();
            for (Enum<?> en : values) {
                String value = intr.findEnumValue(en);
                map.put(ennew SerializedString(value));
            }
            return new EnumValues(map);
        }
        throw new IllegalArgumentException("Can not determine enum constants for Class "+enumClass.getName());
    }
    public static EnumValues constructFromToString(Class<Enum<?>> enumClassAnnotationIntrospector intr)
    {
        Class<? extends Enum<?>> cls = ClassUtil.findEnumType(enumClass);
        Enum<?>[] values = cls.getEnumConstants();
        if (values != null) {
            // Type juggling... unfortunate
            Map<Enum<?>,SerializedStringmap = new HashMap<Enum<?>,SerializedString>();
            for (Enum<?> en : values) {
                map.put(ennew SerializedString(en.toString()));
            }
            return new EnumValues(map);
        }
        throw new IllegalArgumentException("Can not determine enum constants for Class "+enumClass.getName());
    }
    public SerializedString serializedValueFor(Enum<?> key)
    {
        return .get(key);
    }
    
    public Collection<SerializedStringvalues() {
        return .values();
    }

    
Method used for serialization and introspection by core Jackson code.

Since:
2.1
    public EnumMap<?,SerializedStringinternalMap() {
        return ;
    }
New to GrepCode? Check out our FAQ X