Class Query<T>

  • Direct Known Subclasses:
    JpqlQuery

    public class Query<T>
    extends java.lang.Object
    Author:
    gkephart
    • Constructor Detail

      • Query

        public Query​(java.lang.Class<T> clazz)
        Parameters:
        clazz -
      • Query

        public Query​(java.lang.Class<T> clazz,
                     Match match)
        Parameters:
        clazz -
        match -
      • Query

        public Query​(java.lang.Class<T> entityClass,
                     PQ that)
        Converts a POJO query (PQ) of class P to an entity query of type T.
        Type Parameters:
        PQ -
        Parameters:
        entityClass -
        that -
    • Method Detail

      • add

        public <Q extends Query<T>> Q add​(Condition condition)
        Type Parameters:
        Q -
        Parameters:
        condition -
        Returns:
      • addMandatoryCondition

        public <Q extends Query<T>> Q addMandatoryCondition​(java.lang.String propertyName,
                                                            java.lang.Object value)
        Parameters:
        propertyName -
        value -
        Returns:
      • addMandatoryCondition

        public <Q extends Query<T>> Q addMandatoryCondition​(java.lang.String propertyName,
                                                            Operator operator,
                                                            java.lang.Object value)
        Parameters:
        propertyName -
        operator -
        value -
        Returns:
      • addOrdering

        public <Q extends Query<T>> Q addOrdering​(java.lang.String name,
                                                  boolean ascending)
        Parameters:
        name -
        ascending -
      • and

        public <Q extends Query<T>> Q and​(Condition... conditions)
        Type Parameters:
        Q -
        Parameters:
        conditions -
        Returns:
      • cast

        protected <Q extends Query<T>> Q cast()
        Type Parameters:
        Q -
        Returns:
      • conditionsPresent

        public boolean conditionsPresent()
        Returns:
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • equals

        public <Q extends Query<T>> Q equals​(java.lang.String fieldName,
                                             java.lang.Object value)
        Parameters:
        fieldName -
        value -
        Returns:
      • equals

        public <Q extends Query<T>> Q equals​(java.lang.String propertyName,
                                             java.lang.Object value,
                                             boolean isRef)
        Parameters:
        propertyName -
        value -
        isRef - true if the value is actually a reference to another attribute (e.g. x.a = y.b) versus a literal value
        Returns:
      • exists

        public <Q extends Query<T>> Q exists​(Query<?> subquery)
        Parameters:
        subquery -
        Returns:
      • ge

        public <Q extends Query<T>> Q ge​(java.lang.String fieldName,
                                         java.lang.Object value)
        Type Parameters:
        Q -
        Parameters:
        fieldName -
        value -
        Returns:
      • getAlias

        public java.lang.String getAlias()
        Returns:
        the alias
      • getClassSimpleName

        public java.lang.String getClassSimpleName()
        Returns:
        the clazz's simple name
      • getConditions

        public java.util.List<Condition> getConditions()
        Returns:
        the conditions
      • getMandatoryConditions

        public java.util.ArrayList<Condition> getMandatoryConditions()
        Returns:
        the mandatoryConditions
      • getMatch

        public Match getMatch()
        Returns:
        the match
      • getMaxResults

        public java.lang.Integer getMaxResults()
        Returns:
        the maxResults
      • getMaxResults

        public int getMaxResults​(int defaultValue)
        Parameters:
        defaultValue -
        Returns:
      • getOrderings

        public java.util.List<Ordering> getOrderings()
        Returns:
        the orderings
      • getStart

        public java.lang.Integer getStart()
        Returns:
        the start
      • getStart

        public int getStart​(int defValue)
        Parameters:
        defValue -
        Returns:
      • gt

        public <Q extends Query<T>> Q gt​(java.lang.String fieldName,
                                         java.lang.Object value)
        Parameters:
        fieldName -
        value -
        Returns:
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • hasMandatoryConditions

        public boolean hasMandatoryConditions()
        Returns:
      • iequals

        public <Q extends Query<T>> Q iequals​(java.lang.String fieldName,
                                              java.lang.Object value)
        Parameters:
        fieldName -
        value -
        Returns:
      • ilike

        public <Q extends Query<T>> Q ilike​(java.lang.String fieldName,
                                            java.lang.String value)
        Parameters:
        fieldName -
        value -
        Returns:
      • in

        public <Q extends Query<T>> Q in​(java.lang.String fieldName,
                                         java.util.Collection<?> value)
        Parameters:
        fieldName -
        value -
        Returns:
      • in

        public <Q extends Query<T>> Q in​(java.lang.String fieldName,
                                         java.lang.Object... values)
        Parameters:
        fieldName -
        values -
        Returns:
      • isCaseInsensitive

        public boolean isCaseInsensitive()
        Returns:
        the caseInsensitive
      • isNotNull

        public <Q extends Query<T>> Q isNotNull​(java.lang.String fieldName)
        Parameters:
        fieldName -
        Returns:
      • isNull

        public <Q extends Query<T>> Q isNull​(java.lang.String fieldName)
        Parameters:
        fieldName -
        Returns:
      • isPerformCount

        public boolean isPerformCount()
        Returns:
        the performCount
      • like

        public <Q extends Query<T>> Q like​(java.lang.String fieldName,
                                           java.lang.String value)
        Parameters:
        fieldName -
        value -
        Returns:
      • lt

        public <Q extends Query<T>> Q lt​(java.lang.String fieldName,
                                         java.lang.Object value)
        Parameters:
        fieldName -
        value -
        Returns:
      • notEquals

        public <Q extends Query<T>> Q notEquals​(java.lang.String fieldName,
                                                java.lang.Object value)
        Parameters:
        fieldName -
        value -
        Returns:
      • notExists

        public <Q extends Query<T>> Q notExists​(Query<?> subquery)
        Parameters:
        subquery -
        Returns:
      • or

        public <Q extends Query<T>> Q or​(Condition... conditions)
        Type Parameters:
        Q -
        Parameters:
        conditions -
        Returns:
      • setAlias

        public <Q extends Query<T>> Q setAlias​(java.lang.String alias)
        Parameters:
        alias - the alias to set
      • setCaseInsensitive

        public void setCaseInsensitive​(boolean caseInsensitive)
        Parameters:
        caseInsensitive - the caseInsensitive to set
      • setMatch

        public void setMatch​(Match match)
        Parameters:
        match - the match to set
      • setMaxResults

        public <Q extends Query<T>> Q setMaxResults​(java.lang.Integer maxResults)
        Parameters:
        maxResults -
      • setPerformCount

        public <Q extends Query<T>> Q setPerformCount​(java.lang.Boolean performCount)
        Parameters:
        performCount -
      • setStart

        public <Q extends Query<T>> Q setStart​(java.lang.Integer start)
        Parameters:
        start -
      • uniqueResult

        public <Q extends Query<T>> Q uniqueResult()
        Type Parameters:
        Q -
        Returns: