/* * 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.protobuf; import java.io.IOException; import org.infinispan.protostream.MessageMarshaller.ProtoStreamReader; import org.infinispan.protostream.MessageMarshaller.ProtoStreamWriter; public interface ProtofieldAccessor<T> { void writeTo(ProtoStreamWriter outProtobuf, T value) throws IOException; T read(ProtoStreamReader reader) throws IOException; void exportProtobufFieldDefinition(StringBuilder sb); String getColumnName(); String getProtobufName(); default void collectTypeDefinitions(TypeDeclarationsCollector typesDefCollector) { // The default implementation is a no-op } }