/*
* Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) and
* JR Boyens <gnu-jrb[remove] at gmx dot net>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: CountQuery.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.database.querymanagers.generic;
import com.uwyn.rife.database.capabilities.Capabilities;
import com.uwyn.rife.database.queries.AbstractWhereDelegateQuery;
import com.uwyn.rife.database.queries.QueryParameters;
import com.uwyn.rife.database.queries.ReadQuery;
import com.uwyn.rife.database.queries.Select;
public class CountQuery extends AbstractWhereDelegateQuery<CountQuery, Select> implements ReadQuery, Cloneable
{
private Select mDelegatePristine = null;
public String toString()
{
return getSql();
}
public CountQuery clone()
{
return new CountQuery(mDelegate.clone());
}
public CountQuery(Select query)
{
super(query.clone());
mDelegatePristine = query.clone();
}
public void clear()
{
mDelegate = mDelegatePristine.clone();
}
public String getFrom()
{
return mDelegate.getFrom();
}
public QueryParameters getParameters()
{
return mDelegate.getParameters();
}
public String getSql()
{
return mDelegate.getSql();
}
public Capabilities getCapabilities()
{
return mDelegate.getCapabilities();
}
public void setExcludeUnsupportedCapabilities(boolean flag)
{
mDelegate.setExcludeUnsupportedCapabilities(flag);
}
public CountQuery join(String table)
{
mDelegate.join(table);
return this;
}
public CountQuery joinCross(String table)
{
mDelegate.joinCross(table);
return this;
}
public CountQuery joinCustom(String customJoin)
{
mDelegate.joinCustom(customJoin);
return this;
}
public CountQuery joinInner(String table, Select.JoinCondition condition, String conditionExpression)
{
mDelegate.joinInner(table, condition, conditionExpression);
return this;
}
public CountQuery joinOuter(String table, Select.JoinType type, Select.JoinCondition condition, String conditionExpression)
{
mDelegate.joinOuter(table, type, condition, conditionExpression);
return this;
}
public CountQuery union(Select union)
{
mDelegate.union(union);
return this;
}
public CountQuery union(String union)
{
mDelegate.union(union);
return this;
}
public Select getDelegate()
{
return mDelegate;
}
}