/* * 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 <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.elasticsearch.impl; import java.util.List; import org.hibernate.search.engine.metadata.impl.EmbeddedTypeMetadata; /** * Interface implemented by Lucene fields denoting the parent element of * the subsequent fields. * * <p>This is a temporary workaround. * * @see ElasticsearchNestingContextFactoryProvider * * @author Yoann Rodiere */ public interface NestingMarker { List<NestingPathComponent> getPath(); interface NestingPathComponent { /** * @return The type metadata for this path component, providing access * among others to the property name and to the field prefix. */ EmbeddedTypeMetadata getEmbeddedTypeMetadata(); /** * @return When the property is a container (array, collection, map), * the index of the selected element. Otherwise, {@code null}. */ Integer getIndex(); } }