/* * 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.protostream; import java.io.IOException; import org.hibernate.ogm.datastore.infinispanremote.impl.VersionedAssociation; import org.hibernate.ogm.dialect.spi.TupleContext; import org.hibernate.ogm.model.key.spi.EntityKey; import org.hibernate.ogm.model.spi.Tuple; import org.infinispan.client.hotrod.RemoteCache; public interface MainOgmCoDec { RemoteCache getLinkedCache(); ProtostreamId readProtostreamId(org.infinispan.protostream.MessageMarshaller.ProtoStreamReader reader) throws IOException; void writeIdTo(org.infinispan.protostream.MessageMarshaller.ProtoStreamWriter writer, ProtostreamId id) throws IOException; ProtostreamPayload readPayloadFrom(org.infinispan.protostream.MessageMarshaller.ProtoStreamReader reader) throws IOException; void writePayloadTo(org.infinispan.protostream.MessageMarshaller.ProtoStreamWriter writer, ProtostreamPayload payload) throws IOException; ProtostreamId createIdPayload(String[] columnNames, Object[] columnValues); ProtostreamPayload createValuePayload(Tuple tuple); ProtostreamAssociationPayload createAssociationPayload(EntityKey key, VersionedAssociation tuple, TupleContext tupleContext); String getProtobufTypeName(); String getIdProtobufTypeName(); String convertColumnNameToFieldName(String string); String[] listIdColumnNames(); }