org.infinispan.query.dsl.QueryFactory Maven / Gradle / Ivy
package org.infinispan.query.dsl;
/**
* Factory for query DSL objects. Query construction starts here, usually by invoking the {@link #from} method which
* returns a {@link QueryBuilder} capable of constructing {@link Query} objects. The other methods are use for creating
* sub-conditions.
*
* @author [email protected]
* @since 6.0
*/
public interface QueryFactory {
/**
* Creates a Query based on an Ickle query string.
*
* @return a query
*/
Query create(String queryString);
/**
* Creates a QueryBuilder for the given entity type.
*
* @param entityType the Class of the entity
* @return a builder capable of creating queries for the specified entity type
*/
QueryBuilder from(Class> entityType);
/**
* Creates a QueryBuilder for the given entity type.
*
* @param entityType fully qualified entity type name
* @return a builder capable of creating queries for the specified entity type
*/
QueryBuilder from(String entityType);
/**
* Creates a condition on the given attribute path that is to be completed later by using it as a sub-condition.
*
* @param expression a path Expression
* @return the incomplete sub-condition
*/
FilterConditionEndContext having(Expression expression);
/**
* Creates a condition on the given attribute path that is to be completed later by using it as a sub-condition.
*
* @param attributePath the attribute path
* @return the incomplete sub-condition
*/
FilterConditionEndContext having(String attributePath);
/**
* Creates a negated condition that is to be completed later by using it as a sub-condition.
*
* @return the incomplete sub-condition
*/
FilterConditionBeginContext not();
/**
* Creates a negated condition based on a given sub-condition. The negation is grouped.
*
* @return the incomplete sub-condition
*/
FilterConditionContext not(FilterConditionContext fcc);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy