/* * 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.util.HashMap; import java.util.Map; import org.hibernate.HibernateException; /** */ public class TypeDeclarationsCollector { private final Map<String,TypeDefinition> namedTypeDefs = new HashMap<>(); public void exportProtobufEntries(StringBuilder sb) { namedTypeDefs.forEach( ( k, v ) -> v.exportProtobufTypeDefinition( sb ) ); } public void createTypeDefinition(TypeDefinition newDef) { TypeDefinition previous = namedTypeDefs.put( newDef.getTypeName(), newDef ); if ( previous != null && ! previous.equals( newDef ) ) { //TODO clarify this message or deal with it throw new HibernateException( "Conflicting type definition" ); } } }