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

com.github.ltsopensource.remoting.codec.AbstractCodec Maven / Gradle / Ivy

package com.github.ltsopensource.remoting.codec;

import com.github.ltsopensource.core.constant.Constants;
import com.github.ltsopensource.core.spi.ServiceLoader;
import com.github.ltsopensource.remoting.serialize.AdaptiveSerializable;
import com.github.ltsopensource.remoting.serialize.RemotingSerializable;

/**
 * @author Robert HG ([email protected]) on 11/6/15.
 */
public abstract class AbstractCodec implements Codec {

    protected RemotingSerializable getRemotingSerializable(int serializableTypeId) {

        RemotingSerializable serializable = null;
        if (serializableTypeId > 0) {
            serializable = AdaptiveSerializable.getSerializableById(serializableTypeId);
            if (serializable == null) {
                throw new IllegalArgumentException("Can not support RemotingSerializable that serializableTypeId=" + serializableTypeId);
            }
        } else {
            serializable = ServiceLoader.load(RemotingSerializable.class, Constants.ADAPTIVE);
        }
        return serializable;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy