package org.apereo.cas.ticket.registry.support.kryo.serial; import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.Serializer; import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; import org.apereo.cas.authentication.principal.SimpleWebApplicationServiceImpl; import org.apereo.cas.authentication.principal.WebApplicationServiceFactory; /** * Serializer for {@link SimpleWebApplicationServiceImpl} class. * * @author Marvin S. Addison * @since 3.0.0 */ public class SimpleWebApplicationServiceSerializer extends Serializer<SimpleWebApplicationServiceImpl> { @Override public void write(final Kryo kryo, final Output output, final SimpleWebApplicationServiceImpl service) { kryo.writeObject(output, service.getId()); } @Override public SimpleWebApplicationServiceImpl read(final Kryo kryo, final Input input, final Class<SimpleWebApplicationServiceImpl> type) { final String id = kryo.readObject(input, String.class); return new WebApplicationServiceFactory().createService(id, SimpleWebApplicationServiceImpl.class); } }