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

com.github.czyzby.websocket.serialization.impl.AbstractStringSerializer Maven / Gradle / Ivy

package com.github.czyzby.websocket.serialization.impl;

import java.io.UnsupportedEncodingException;

import com.github.czyzby.websocket.serialization.SerializationException;
import com.github.czyzby.websocket.serialization.Serializer;

/** Abstract base for serializers that convert objects to strings. Methods consuming and producing byte arrays convert
 * their data to strings and delegate the operations to string-based methods.
 *
 * @author MJ */
public abstract class AbstractStringSerializer implements Serializer {
    @Override
    public byte[] serialize(final Object object) {
        try {
            return serializeAsString(object).getBytes("UTF-8");
        } catch (final UnsupportedEncodingException exception) {
            throw new SerializationException("Unexpected: UTF-8 format not supported.", exception);
        }
    }

    @Override
    public Object deserialize(final byte[] data) {
        try {
            return deserialize(new String(data, "UTF-8"));
        } catch (final UnsupportedEncodingException exception) {
            throw new SerializationException("Unexpected: UTF-8 format not supported.", exception);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy