/* * 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.query.spi; import java.util.List; import org.hibernate.hql.spi.QueryTranslator; import org.hibernate.ogm.util.Experimental; /** * Represents the result of parsing a JP-QL query by a {@link QueryParserService} implementation. Subsequentially, this * will contain all the information required by {@link QueryTranslator}s which is currently obtained from the existing * query parser. * * @author Gunnar Morling */ @Experimental("This contract is under active development.") public interface QueryParsingResult { /** * The resulting query in a representation understood by the underlying datastore, e.g. it may be based on * {@code DBObject}s in case of MongoDB or it may be a String representing a Cypher query in case of Neo4j. * * @return The resulting query */ Object getQueryObject(); /** * The names of selected scalar columns. * @return the names of selected scalar columns */ // TODO Only used for pure projection atm. To be replaced with something which works for mixing returns of different // kinds such as scalars, entities or constructor returns List<String> getColumnNames(); }