Package org.beangle.model.query.builder

Source Code of org.beangle.model.query.builder.QueryBean

/* Copyright c 2005-2012.
* Licensed under GNU  LESSER General Public License, Version 3.
* http://www.gnu.org/licenses
*/
package org.beangle.model.query.builder;

import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.beangle.collection.page.PageLimit;
import org.beangle.model.query.Lang;
import org.beangle.model.query.LimitQuery;
import org.beangle.model.query.Query;

public class QueryBean<T> implements LimitQuery<T> {

  private Lang lang;

  private String statement;

  private String countStatement;

  private PageLimit limit;

  private boolean cacheable;

  private Map<String, Object> params;

  public Query<T> getCountQuery() {
    if (StringUtils.isEmpty(countStatement)) { return null; }
    QueryBean<T> bean = new QueryBean<T>();
    bean.setStatement(countStatement);
    bean.setLang(lang);
    bean.setParams(params);
    bean.setCacheable(cacheable);
    return bean;
  }

  public String getStatement() {
    return statement;
  }

  public String getCountStatement() {
    return countStatement;
  }

  public PageLimit getLimit() {
    return limit;
  }

  public Map<String, Object> getParams() {
    return params;
  }

  public void setStatement(String statement) {
    this.statement = statement;
  }

  public void setCountStatement(String countStatement) {
    this.countStatement = countStatement;
  }

  public void setLimit(PageLimit limit) {
    this.limit = limit;
  }

  public LimitQuery<T> limit(PageLimit limit) {
    this.limit = new PageLimit(limit.getPageNo(), limit.getPageSize());
    return this;
  }

  public void setCacheable(boolean cacheable) {
    this.cacheable = cacheable;
  }

  public void setParams(Map<String, Object> params) {
    this.params = params;
  }

  public boolean isCacheable() {
    return cacheable;
  }

  public Lang getLang() {
    return lang;
  }

  public void setLang(Lang lang) {
    this.lang = lang;
  }

}
TOP

Related Classes of org.beangle.model.query.builder.QueryBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.