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

org.infinispan.objectfilter.impl.hql.predicate.FilterDisjunctionPredicate Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.objectfilter.impl.hql.predicate;

import org.hibernate.hql.ast.spi.predicate.DisjunctionPredicate;
import org.infinispan.objectfilter.impl.syntax.BooleanExpr;
import org.infinispan.objectfilter.impl.syntax.OrExpr;

/**
 * @author [email protected]
 * @since 7.0
 */
class FilterDisjunctionPredicate extends DisjunctionPredicate {

   public FilterDisjunctionPredicate() {
   }

   @Override
   public BooleanExpr getQuery() {
      // we always expect children.size() >= 1
      BooleanExpr firstChild = children.get(0).getQuery();
      if (children.size() == 1) {
         return firstChild;
      }

      OrExpr orExpr = new OrExpr(firstChild);

      for (int i = 1; i < children.size(); i++) {
         BooleanExpr child = children.get(i).getQuery();
         orExpr.getChildren().add(child);
      }

      return orExpr;
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy