org.efaps.db.query.CompleteStatement Maven / Gradle / Ivy
/*
* Copyright 2003 - 2012 The eFaps Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Revision: $Rev: 7483 $
* Last Changed: $Date: 2012-05-11 11:57:38 -0500 (Fri, 11 May 2012) $
* Last Changed By: $Author: [email protected] $
*/
package org.efaps.db.query;
/**
* The class is used to build a complete statement with correct order etc.
* The class is working like a string buffer.
*
* @author The eFaps Team
* @version $Id: CompleteStatement.java 7483 2012-05-11 16:57:38Z [email protected] $
*/
//CHECKSTYLE:OFF
@Deprecated
public class CompleteStatement
{
/**
* StringBuilder used for this statement.
*/
private final StringBuilder statement = new StringBuilder();
/**
* The instance variable stores if a where clause must be appended.
*
* @see #hasWhere
*/
private boolean where = false;
/**
* The instance variable stores if a from clause must be appended.
*
* @see #hasWhere
*/
private boolean from = false;
/**
* Is the current part an expression.
*/
private boolean expr = false;
/**
* Append an union
to this statement.
*/
public void appendUnion()
{
append(" union ");
this.expr = false;
this.where = false;
this.from = false;
}
/**
* Append an and
to this statement.
* @return this
*/
public CompleteStatement appendWhereAnd()
{
if (this.where && this.expr) {
append(" and ");
this.expr = false;
}
return this;
}
/**
* Append an or
to this statement.
*/
public void appendWhereOr()
{
if (this.where && this.expr) {
append(" or ");
this.expr = false;
}
}
/**
* Append an where
to this statement.
* @return this
*/
public CompleteStatement appendWhere()
{
if (!this.where) {
append(" where ");
this.where = true;
}
this.expr = false;
return this;
}
/**
* Append an where
to this statement.
* @param _where where
* @return this
*/
public CompleteStatement appendWhere(final Object _where)
{
if (!this.where) {
append(" where ");
this.where = true;
}
append(_where);
this.expr = true;
return this;
}
/**
* Append an from
to this statement.
* @param _from from
* @return this
*/
public CompleteStatement appendFrom(final String _from)
{
if (!this.from) {
append(" from ");
this.from = true;
} else {
append(",");
}
append(_from);
return this;
}
/**
* Append an text
to this statement.
* @param _text text
* @return this
*/
public CompleteStatement append(final Object _text)
{
getStatement().append(_text);
return this;
}
/**
* This is the getter method for instance variable
* {@link #selectStatement}.
*
* @return value of instance variable {@link #selectStatement}
* @see #selectStatement
*/
public StringBuilder getStatement()
{
return this.statement;
}
/**
* Getter method for the instance variable {@link #where}.
*
* @return value of instance variable {@link #where}
*/
public boolean isWhere()
{
return this.where;
}
/**
* Return this statement.
* @return this
*/
@Override()
public String toString()
{
return this.statement.toString();
}
}