org.restcomm.cluster.SerializerFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cache-core Show documentation
Show all versions of cache-core Show documentation
Mobius Cluster Framework Core
The newest version!
/*
* Copyright 2022-2023, Mobius Software LTD. and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This program is free software: you can redistribute it and/or modify
* under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see
*/
package org.restcomm.cluster;
/**
*
* @author yulian.oifa
*
*/
import org.restcomm.cluster.serializers.JavaSerializer;
import org.restcomm.cluster.serializers.JbossSerializer;
import org.restcomm.cluster.serializers.KryoSerializer;
import org.restcomm.cluster.serializers.Serializer;
public class SerializerFactory {
public static Serializer createSerializer(SerializationType serializationType,ClassLoader classLoader,CacheDataExecutorService service) {
switch (serializationType) {
case JAVA:
return new JavaSerializer(classLoader);
case KRYO:
return new KryoSerializer(classLoader, service, true);
case JBOSS:
return new JbossSerializer(classLoader);
case NATIVE:
default:
return null;
}
}
}