All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.search.indexes.serialization.avro.impl.ProtocolBuilderV1_1 Maven / Gradle / Ivy

Go to download

Implementation of the Hibernate Search serialization protocol for remote indexing using Avro

There is a newer version: 5.11.12.Final
Show newest version
/*
 * Hibernate Search, full-text search for your domain model
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later
 * See the lgpl.txt file in the root directory or .
 */
package org.hibernate.search.indexes.serialization.avro.impl;

import org.apache.avro.Protocol;

/**
 * Helper to build an Avro Protocol version 1.1 from all our resource
 * schemas.
 */
class ProtocolBuilderV1_1 extends ProtocolBuilderV1_0 {

	private static String V1_1_PATH = "org/hibernate/search/remote/codex/avro/v1_1/";

	/**
	 * @return an Avro Protocol at version 1.1
	 */
	@Override
	Protocol build() {
		parseSchema( "attribute/TokenTrackingAttribute" );
		parseSchema( "attribute/CharTermAttribute" );
		parseSchema( "attribute/PayloadAttribute" );
		parseSchema( "attribute/KeywordAttribute" );
		parseSchema( "attribute/PositionIncrementAttribute" );
		parseSchema( "attribute/FlagsAttribute" );
		parseSchema( "attribute/TypeAttribute" );
		parseSchema( "attribute/OffsetAttribute" );
		parseSchema( "field/TermVector" );
		parseSchema( "field/Index" );
		parseSchema( "field/Store" );
		parseSchema( "field/TokenStreamField" );
		parseSchema( "field/ReaderField" );
		parseSchema( "field/StringField" );
		parseSchema( "field/BinaryField" );
		parseSchema( "field/NumericIntField" );
		parseSchema( "field/NumericLongField" );
		parseSchema( "field/NumericFloatField" );
		parseSchema( "field/NumericDoubleField" );
		parseSchema( "field/CustomFieldable" );
		parseSchema( "Document" );
		parseSchema( "operation/Id" );
		parseSchema( "operation/OptimizeAll" );
		parseSchema( "operation/Flush" );
		parseSchema( "operation/PurgeAll" );
		parseSchema( "operation/Delete" );
		parseSchema( "operation/Add" );
		parseSchema( "operation/Update" );
		parseSchema( "Message" );
		return parseProtocol( "Works" );
	}

	@Override
	protected String getResourceBasePath() {
		return V1_1_PATH;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy