package com.fasterxml.jackson.datatype.joda.cfg;

import java.util.Locale;
import java.util.TimeZone;

import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.SerializerProvider;

Base object for different formatters (date-time, period, ...)
/** * Base object for different formatters (date-time, period, ...) */
abstract class JacksonJodaFormatBase { protected final static Locale DEFAULT_LOCALE; static { DEFAULT_LOCALE = Locale.getDefault(); }
Flag that indicates that serialization must be done as the Java timestamp, regardless of other settings.
/** * Flag that indicates that serialization must be done as the * Java timestamp, regardless of other settings. */
protected final Boolean _useTimestamp; protected final Locale _locale; protected final boolean _explicitLocale; protected JacksonJodaFormatBase(Boolean useTimestamp, Locale locale, boolean explicitLocale) { _useTimestamp = useTimestamp; _locale = locale; _explicitLocale = explicitLocale; } protected JacksonJodaFormatBase() { _useTimestamp = null; _locale = DEFAULT_LOCALE; _explicitLocale = false; } protected JacksonJodaFormatBase(JacksonJodaFormatBase base) { _useTimestamp = base._useTimestamp; _locale = base._locale; _explicitLocale = base._explicitLocale; } protected JacksonJodaFormatBase(JacksonJodaFormatBase base, Boolean useTimestamp) { _useTimestamp = useTimestamp; _locale = base._locale; _explicitLocale = base._explicitLocale; } protected JacksonJodaFormatBase(JacksonJodaFormatBase base, TimeZone jdkTimezone) { _useTimestamp = base._useTimestamp; _locale = base._locale; _explicitLocale = base._explicitLocale; } protected JacksonJodaFormatBase(JacksonJodaFormatBase base, Locale locale) { _useTimestamp = base._useTimestamp; if (locale == null) { _locale = DEFAULT_LOCALE; _explicitLocale = false; } else { _locale = locale; _explicitLocale = true; } } /* /********************************************************** /* Other public methods /********************************************************** */ public boolean useTimestamp(SerializerProvider provider, SerializationFeature feat) { if (_useTimestamp != null) { return _useTimestamp.booleanValue(); } return provider.isEnabled(feat); } }