All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fasterxml.jackson.databind.cfg.EnumFeature Maven / Gradle / Ivy

There is a newer version: 2.17.1
Show newest version
package com.fasterxml.jackson.databind.cfg;

import com.fasterxml.jackson.databind.SerializationFeature;

/**
 * New Datatype-specific configuration options related to handling of
 * {@link java.lang.Enum} types.
 *
 * @since 2.14
 */
public enum EnumFeature implements DatatypeFeature
{
    /**
     * Feature that determines standard deserialization mechanism used for
     * Enum values: if enabled, Enums are assumed to have been serialized using
     * index of Enum;
     *

* Note: this feature should be symmetric to * as {@link SerializationFeature#WRITE_ENUM_KEYS_USING_INDEX}. *

* Feature is disabled by default. * * @since 2.15 */ READ_ENUM_KEYS_USING_INDEX(false), /** * Feature that determines standard serialization mechanism used for * Enum values: if enabled, return value of Enum.name().toLowerCase() * is used; if disabled, return value of Enum.name() is used. *

* NOTE: this feature CAN NOT be changed on per-call basis: it will have to * be set on {@code ObjectMapper} before use *

* Feature is disabled by default. * * @since 2.15 */ WRITE_ENUMS_TO_LOWERCASE(false); private final static int FEATURE_INDEX = DatatypeFeatures.FEATURE_INDEX_ENUM; /** * Whether feature is enabled or disabled by default. */ private final boolean _enabledByDefault; private final int _mask; private EnumFeature(boolean enabledByDefault) { _enabledByDefault = enabledByDefault; _mask = (1 << ordinal()); } @Override public boolean enabledByDefault() { return _enabledByDefault; } @Override public boolean enabledIn(int flags) { return (flags & _mask) != 0; } @Override public int getMask() { return _mask; } @Override public int featureIndex() { return FEATURE_INDEX; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy