package org.marketcetera.util.ws.wrappers;
import java.util.Locale;
import javax.xml.bind.annotation.XmlSeeAlso;
import org.marketcetera.util.misc.ClassVersion;
import org.marketcetera.util.ws.wrappers.MarshalledLocale;
/**
* A dual-form wrapper for marshalling a locale. The raw form is
* {@link Locale}, and the marshalled form is {@link
* MarshalledLocale}.
*
* @author tlerios@marketcetera.com
* @since 1.0.0
* @version $Id: LocaleWrapper.java 16154 2012-07-14 16:34:05Z colin $
*/
/* $License$ */
@XmlSeeAlso(MarshalledLocale.class)
@ClassVersion("$Id: LocaleWrapper.java 16154 2012-07-14 16:34:05Z colin $")
public class LocaleWrapper
extends DualWrapper<Locale,MarshalledLocale>
{
// CLASS DATA.
private static final long serialVersionUID=1L;
// CONSTRUCTORS.
/**
* Creates a new wrapper for the given locale. It also sets the
* internal marshalled form to match.
*
* @param locale The locale, which may be null.
*/
public LocaleWrapper
(Locale locale)
{
super(locale);
}
/**
* Creates a new wrapper. This empty constructor is intended for
* use by JAXB and Java serialization.
*/
public LocaleWrapper() {}
// DualWrapper.
@Override
protected void toRaw()
{
setRawOnly(getMarshalled().toLocale());
}
@Override
protected void toMarshalled()
{
setMarshalledOnly(new MarshalledLocale(getRaw()));
}
}