package org.djutils.data.serialization; /** * PrimitiveSerializer takes care of (de)serialization of primitive values.
*
* Copyright (c) 2020-2022 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See * for project information https://djutils.org. The DJUTILS project is * distributed under a three-clause BSD-style license, which can be found at * https://djutils.org/docs/license.html.
* @author Alexander Verbraeck * @author Peter Knoppers * @author Wouter Schakel */ public final class PrimitiveSerializer { /** Utility class cannot be initialized. */ private PrimitiveSerializer() { // utility class. } /** Serializer and deserializer for int. */ public static class Int implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return Integer.valueOf(text).intValue(); } } /** Serializer and deserializer for double. */ public static class Double implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return java.lang.Double.valueOf(text).doubleValue(); } } /** Serializer and deserializer for float. */ public static class Float implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return java.lang.Float.valueOf(text).floatValue(); } } /** Serializer and deserializer for long. */ public static class Long implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return java.lang.Long.valueOf(text).longValue(); } } /** Serializer and deserializer for short. */ public static class Short implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return java.lang.Short.valueOf(text).shortValue(); } } /** Serializer and deserializer for byte. */ public static class Byte implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return java.lang.Byte.valueOf(text).byteValue(); } } /** Serializer and deserializer for boolean. */ public static class Boolean implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return java.lang.Boolean.valueOf(text).booleanValue(); } } /** Serializer and deserializer for char. */ public static class Char implements TextSerializer { /** {@inheritDoc} */ @Override public String serialize(final Object value) { return String.valueOf(value); } /** {@inheritDoc} */ @Override public Object deserialize(final String text) { return text.charAt(0); } } }