/**
* TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L.
* Copyright (C) 2007 Autentia Real Bussiness Solution S.L.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.autentia.tnt.dao.search;
import java.util.ArrayList;
import java.util.Date;
import com.autentia.tnt.businessobject.Project;
import com.autentia.tnt.businessobject.User;
import com.autentia.tnt.dao.SearchCriteria;
public class OccupationSearch extends SearchCriteria
{
/* generated by stajanov (do not edit/delete) */
@Override
public String getHQL() {
StringBuilder ret = new StringBuilder();
int iArgNum = 0;
if( isStartStartDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getStartStartDate()==null ){
ret.append( "startDate is NULL" );
} else {
ret.append( "startDate >= :arg"+(iArgNum++) );
}
}
if( isStartEndDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getStartEndDate()==null ){
ret.append( "startDate is NULL" );
} else {
ret.append( "startDate <= :arg"+(iArgNum++) );
}
}
if( isEndStartDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getEndStartDate()==null ){
ret.append( "endDate is NULL" );
} else {
ret.append( "endDate >= :arg"+(iArgNum++) );
}
}
if( isEndEndDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getEndEndDate()==null ){
ret.append( "endDate is NULL" );
} else {
ret.append( "endDate <= :arg"+(iArgNum++) );
}
}
if( isDescriptionSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getDescription()==null ){
ret.append( "description is NULL" );
} else {
ret.append( "description = :arg"+(iArgNum++) );
}
}
if( isStartDurationSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( startDuration == null ){
ret.append( "duration=:arg"+(iArgNum++) );
} else {
ret.append( "duration>=:arg"+(iArgNum++) );
}
}
if( isEndDurationSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( endDuration == null ){
ret.append( "duration=:arg"+(iArgNum++) );
} else {
ret.append( "duration<=:arg"+(iArgNum++) );
}
}
if( isOwnerIdSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getOwnerId()==null ){
ret.append( "ownerId is NULL" );
} else {
ret.append( "ownerId = :arg"+(iArgNum++) );
}
}
if( isDepartmentIdSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getDepartmentId()==null ){
ret.append( "departmentId is NULL" );
} else {
ret.append( "departmentId = :arg"+(iArgNum++) );
}
}
if( isStartInsertDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( startInsertDate == null ){
ret.append( "insertDate=:arg"+(iArgNum++) );
} else {
ret.append( "insertDate>=:arg"+(iArgNum++) );
}
}
if( isEndInsertDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( endInsertDate == null ){
ret.append( "insertDate=:arg"+(iArgNum++) );
} else {
ret.append( "insertDate<=:arg"+(iArgNum++) );
}
}
if( isStartUpdateDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( startUpdateDate == null ){
ret.append( "updateDate=:arg"+(iArgNum++) );
} else {
ret.append( "updateDate>=:arg"+(iArgNum++) );
}
}
if( isEndUpdateDateSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( endUpdateDate == null ){
ret.append( "updateDate=:arg"+(iArgNum++) );
} else {
ret.append( "updateDate<=:arg"+(iArgNum++) );
}
}
if( isUserSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getUser()==null ){
ret.append( "user is NULL" );
} else {
ret.append( "user = :arg"+(iArgNum++) );
}
}
if( isProjectSet() ){
ret.append( (ret.length()==0) ? "WHERE " : " AND " );
if( getProject()==null ){
ret.append( "project is NULL" );
} else {
ret.append( "project = :arg"+(iArgNum++) );
}
}
customGetHQL(ret,iArgNum);
return ret.toString();
}
@Override
public Object[] getArguments(){
ArrayList<Object> ret = new ArrayList<Object>();
if( isDescriptionSet() && getDescription()!=null ){
ret.add( description );
}
if( isStartDurationSet() ){
ret.add( startDuration );
}
if( isEndDurationSet() ){
ret.add( endDuration );
}
if( isOwnerIdSet() && getOwnerId()!=null ){
ret.add( ownerId );
}
if( isDepartmentIdSet() && getDepartmentId()!=null ){
ret.add( departmentId );
}
if( isStartInsertDateSet() ){
ret.add( startInsertDate );
}
if( isEndInsertDateSet() ){
ret.add( endInsertDate );
}
if( isStartUpdateDateSet() ){
ret.add( startUpdateDate );
}
if( isEndUpdateDateSet() ){
ret.add( endUpdateDate );
}
if( isStartStartDateSet() ){
ret.add( startStartDate );
}
if( isEndStartDateSet() ){
ret.add( endStartDate );
}
if( isStartEndDateSet() ){
ret.add( startEndDate );
}
if( isEndEndDateSet() ){
ret.add( endEndDate );
}
if( isUserSet() && getUser()!=null ){
ret.add( user );
}
if( isProjectSet() && getProject()!=null ){
ret.add( project );
}
if( isStartOccupationDateSet() ){
ret.add( startOccupationDate );
}
if( isEndOccupationDateSet() ){
ret.add( endOccupationDate );
}
customGetArguments(ret);
return ret.toArray();
}
@Override
public void reset(){
unsetDescription();
unsetStartDuration();
unsetEndDuration();
unsetOwnerId();
unsetDepartmentId();
unsetStartInsertDate();
unsetEndInsertDate();
unsetStartUpdateDate();
unsetEndUpdateDate();
unsetUser();
unsetStartStartDate();
unsetStartEndDate();
unsetEndStartDate();
unsetEndEndDate();
unsetProject();
customReset();
}
@Override
public String toString() {
StringBuilder ret = new StringBuilder();
ret.append("OccupationSearch{");
if( isStartOccupationDateSet() ){
ret.append( "(startOccupationDate" );
ret.append( "="+startOccupationDate );
ret.append( ")" );
}
if( isEndOccupationDateSet() ){
ret.append( "(endOccupationDate" );
ret.append( "="+endOccupationDate );
ret.append( ")" );
}
if( isDescriptionSet() ){
ret.append( "(description" );
ret.append( "="+description );
ret.append( ")" );
}
if( isStartDurationSet() ){
ret.append( "(startDuration" );
ret.append( "="+startDuration );
ret.append( ")" );
}
if( isEndDurationSet() ){
ret.append( "(endDuration" );
ret.append( "="+endDuration );
ret.append( ")" );
}
if( isOwnerIdSet() ){
ret.append( "(ownerId" );
ret.append( "="+ownerId );
ret.append( ")" );
}
if( isDepartmentIdSet() ){
ret.append( "(departmentId" );
ret.append( "="+departmentId );
ret.append( ")" );
}
if( isStartInsertDateSet() ){
ret.append( "(startInsertDate" );
ret.append( "="+startInsertDate );
ret.append( ")" );
}
if( isEndInsertDateSet() ){
ret.append( "(endInsertDate" );
ret.append( "="+endInsertDate );
ret.append( ")" );
}
if( isStartStartDateSet() ){
ret.append( "(startStartDate" );
ret.append( "="+startStartDate );
ret.append( ")" );
}
if( isStartEndDateSet() ){
ret.append( "(startEndDate" );
ret.append( "="+startEndDate );
ret.append( ")" );
}
if( isEndStartDateSet() ){
ret.append( "(endStartDate" );
ret.append( "="+endStartDate );
ret.append( ")" );
}
if( isEndEndDateSet() ){
ret.append( "(EndEndDate" );
ret.append( "="+endEndDate );
ret.append( ")" );
}
if( isStartUpdateDateSet() ){
ret.append( "(startUpdateDate" );
ret.append( "="+startUpdateDate );
ret.append( ")" );
}
if( isEndUpdateDateSet() ){
ret.append( "(endUpdateDate" );
ret.append( "="+endUpdateDate );
ret.append( ")" );
}
if( isUserSet() ){
ret.append( "(user" );
ret.append( "="+user );
ret.append( ")" );
}
if( isProjectSet() ){
ret.append( "(project" );
ret.append( "="+project );
ret.append( ")" );
}
customToString(ret);
ret.append("}");
return ret.toString();
}
// Getters and setters
public boolean isStartOccupationDateSet(){
return startOccupationDateSet;
}
public Date getStartOccupationDate(){
return startOccupationDate;
}
public void setStartOccupationDate( Date startOccupationDate ){
this.startOccupationDate = startOccupationDate;
this.startOccupationDateSet = true;
}
public boolean isEndOccupationDateSet(){
return endOccupationDateSet;
}
public Date getEndOccupationDate(){
return endOccupationDate;
}
public void setEndOccupationDate( Date endOccupationDate ){
this.endOccupationDate = endOccupationDate;
this.endOccupationDateSet = true;
}
public boolean isDescriptionSet(){
return descriptionSet;
}
public String getDescription(){
return description;
}
public void setDescription( String description ){
this.description = description;
this.descriptionSet = true;
}
public void unsetDescription(){
this.descriptionSet = false;
}
public boolean isStartDurationSet(){
return startDurationSet;
}
public java.lang.Integer getStartDuration(){
return startDuration;
}
public void setStartDuration( java.lang.Integer startDuration ){
this.startDuration = startDuration;
this.startDurationSet = true;
}
public void unsetStartDuration(){
this.startDurationSet = false;
}
public boolean isEndDurationSet(){
return endDurationSet;
}
public java.lang.Integer getEndDuration(){
return endDuration;
}
public void setEndDuration( java.lang.Integer endDuration ){
this.endDuration = endDuration;
this.endDurationSet = true;
}
public void unsetEndDuration(){
this.endDurationSet = false;
}
public boolean isOwnerIdSet(){
return ownerIdSet;
}
public Integer getOwnerId(){
return ownerId;
}
public void setOwnerId( Integer ownerId ){
this.ownerId = ownerId;
this.ownerIdSet = true;
}
public void unsetOwnerId(){
this.ownerIdSet = false;
}
public boolean isDepartmentIdSet(){
return departmentIdSet;
}
public Integer getDepartmentId(){
return departmentId;
}
public void setDepartmentId( Integer departmentId ){
this.departmentId = departmentId;
this.departmentIdSet = true;
}
public void unsetDepartmentId(){
this.departmentIdSet = false;
}
public boolean isStartInsertDateSet(){
return startInsertDateSet;
}
public Date getStartInsertDate(){
return startInsertDate;
}
public void setStartInsertDate( Date startInsertDate ){
this.startInsertDate = startInsertDate;
this.startInsertDateSet = true;
}
public void unsetStartInsertDate(){
this.startInsertDateSet = false;
}
public boolean isEndInsertDateSet(){
return endInsertDateSet;
}
public Date getEndInsertDate(){
return endInsertDate;
}
public void setEndInsertDate( Date endInsertDate ){
this.endInsertDate = endInsertDate;
this.endInsertDateSet = true;
}
public void unsetEndInsertDate(){
this.endInsertDateSet = false;
}
public boolean isStartUpdateDateSet(){
return startUpdateDateSet;
}
public Date getStartUpdateDate(){
return startUpdateDate;
}
public void setStartUpdateDate( Date startUpdateDate ){
this.startUpdateDate = startUpdateDate;
this.startUpdateDateSet = true;
}
public void unsetStartUpdateDate(){
this.startUpdateDateSet = false;
}
public boolean isEndUpdateDateSet(){
return endUpdateDateSet;
}
public Date getEndUpdateDate(){
return endUpdateDate;
}
public void setEndUpdateDate( Date endUpdateDate ){
this.endUpdateDate = endUpdateDate;
this.endUpdateDateSet = true;
}
public void unsetEndUpdateDate(){
this.endUpdateDateSet = false;
}
public boolean isUserSet(){
return userSet;
}
public User getUser(){
return user;
}
public void setUser( User user ){
this.user = user;
this.userSet = true;
}
public void unsetUser(){
this.userSet = false;
}
public boolean isProjectSet(){
return projectSet;
}
public Project getProject(){
return project;
}
public void setProject( Project project ){
this.project = project;
this.projectSet = true;
}
public void unsetProject(){
this.projectSet = false;
}
public boolean isStartStartDateSet(){
return startStartDateSet;
}
public Date getStartStartDate(){
return startStartDate;
}
public void setStartStartDate( Date date ){
this.startStartDate = date;
this.startStartDateSet = true;
}
public void unsetStartStartDate(){
this.startStartDateSet = false;
}
public boolean isStartEndDateSet(){
return startEndDateSet;
}
public Date getStartEndDate(){
return startEndDate;
}
public void setStartEndDate( Date date ){
this.startEndDate = date;
this.startEndDateSet = true;
}
public void unsetStartEndDate(){
this.startEndDateSet = false;
}
public boolean isEndStartDateSet(){
return endStartDateSet;
}
public Date getEndStartDate(){
return endStartDate;
}
public void setEndStartDate( Date date ){
this.endStartDate = date;
this.endStartDateSet = true;
}
public void unsetEndStartDate(){
this.endStartDateSet = false;
}
public boolean isEndEndDateSet(){
return endEndDateSet;
}
public Date getEndEndDate(){
return endEndDate;
}
public void setEndEndDate( Date date ){
this.endEndDate = date;
this.endEndDateSet = true;
}
public void unsetEndEndDate(){
this.endEndDateSet = false;
}
// Fields
private boolean startOccupationDateSet;
private Date startOccupationDate;
private boolean endOccupationDateSet;
private Date endOccupationDate;
private boolean descriptionSet;
private String description;
private boolean startDurationSet;
private java.lang.Integer startDuration;
private boolean endDurationSet;
private java.lang.Integer endDuration;
private boolean ownerIdSet;
private Integer ownerId;
private boolean departmentIdSet;
private Integer departmentId;
private boolean startInsertDateSet;
private Date startInsertDate;
private boolean endInsertDateSet;
private Date endInsertDate;
private boolean startUpdateDateSet;
private Date startUpdateDate;
private boolean endUpdateDateSet;
private Date endUpdateDate;
private boolean userSet;
private User user;
private boolean projectSet;
private Project project;
private Date startStartDate;
private boolean startStartDateSet;
private Date startEndDate;
private boolean startEndDateSet;
private Date endStartDate;
private boolean endStartDateSet;
private Date endEndDate;
private boolean endEndDateSet;
// Returns if there are a search condition active
public boolean isSearchActive() {
return customIsSearchActive()||startOccupationDateSet||endOccupationDateSet||descriptionSet||startDurationSet||endDurationSet||ownerIdSet||departmentIdSet||startInsertDateSet||endInsertDateSet||startUpdateDateSet||endUpdateDateSet||userSet||projectSet||startStartDateSet||startEndDateSet||endStartDateSet||endEndDateSet;
}
/* generated by stajanov (do not edit/delete) */
private void customGetHQL(StringBuilder ret, int iArgNum)
{
// ocupacion del personal
if (startOccupationDateSet||endOccupationDateSet)
{
final int startOccupationDatePosition = iArgNum++;
final int endOccupationDatePosition = iArgNum++;
ret.append( " AND " );
ret.append( " ( " );
ret.append( "(startDate <= :arg" + startOccupationDatePosition + " AND endDate >= :arg" + startOccupationDatePosition + ") ");
ret.append( " OR " );
ret.append( "(startDate >= :arg" + startOccupationDatePosition + " AND endDate <= :arg" + endOccupationDatePosition + ") ");
ret.append( " OR " );
ret.append( "(startDate <= :arg" + endOccupationDatePosition + " AND endDate >= :arg" + endOccupationDatePosition + ") ");
ret.append( " ) " );
}
}
private boolean customIsSearchActive()
{
return false;
}
private void customToString(StringBuilder ret)
{
}
private void customReset()
{
}
private void customGetArguments(ArrayList ret)
{
}
}