/* * Hibernate OGM, Domain model persistence for NoSQL datastores * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.ogm.datastore.infinispanremote.impl.sequences; import java.io.IOException; import org.hibernate.ogm.datastore.infinispanremote.impl.schema.SequenceTableDefinition; import org.infinispan.protostream.MessageMarshaller; public final class SequenceIdMarshaller implements MessageMarshaller<SequenceId> { private final String typeName; private final SequenceTableDefinition std; public SequenceIdMarshaller(SequenceTableDefinition std) { this.typeName = std.getQualifiedIdMessageName(); this.std = std; } @Override public Class<? extends SequenceId> getJavaClass() { return SequenceId.class; } @Override public String getTypeName() { return typeName; } @Override public SequenceId readFrom(org.infinispan.protostream.MessageMarshaller.ProtoStreamReader reader) throws IOException { return std.readSequenceId( reader ); } @Override public void writeTo(org.infinispan.protostream.MessageMarshaller.ProtoStreamWriter writer, SequenceId t) throws IOException { std.writeSequenceId( writer, t ); } }