| /** |
| * |
| */ |
| package org.apache.continuum.store.jpa; |
| |
| import java.util.Date; |
| import java.util.Map; |
| |
| import org.apache.continuum.store.api.Query; |
| |
| /** |
| * Wraps up retrieval criteria for {@link ProjectGroup}s. |
| * |
| * @author <a href='mailto:rinku@apache.org'>Rahul Thakur</a> |
| * @version $Id$ |
| * @since 1.2 |
| */ |
| public class ProjectGroupQuery<ProjectGroup> implements Query<ProjectGroup> |
| { |
| |
| /** |
| * ProjectGroup creation date criteria. |
| */ |
| private Date dateCreated; |
| |
| /** |
| * ProjectGroup update date criteria. |
| */ |
| private Date dateUpdated; |
| |
| /** |
| * ProjectGroup description criteria. |
| */ |
| private String description; |
| |
| /** |
| * ProjectGroup groupId criteria. |
| */ |
| private String groupId; |
| |
| /** |
| * ProjectGroup Id criteria. |
| */ |
| private Long id; |
| |
| /** |
| * ProjectGroup model encoding criteria. |
| */ |
| private String modelEncoding; |
| |
| /** |
| * ProjectGroup name criteria. |
| */ |
| private String name; |
| |
| /** |
| * @return |
| * |
| */ |
| public Date getDateCreated() |
| { |
| return this.dateCreated; |
| } |
| |
| /** |
| * @return |
| * @see org.apache.continuum.model.CommonUpdatableEntity#getDateUpdated() |
| */ |
| public Date getDateUpdated() |
| { |
| return this.dateUpdated; |
| } |
| |
| /** |
| * @return |
| * |
| */ |
| public String getDescription() |
| { |
| return this.description; |
| } |
| |
| /** |
| * @return |
| * |
| */ |
| public String getGroupId() |
| { |
| return this.groupId; |
| } |
| |
| /** |
| * Determine if a date of creation was specified in the query. |
| * |
| * @return <code>true</code> if a date of creation was specified, else <code>false</code>. |
| */ |
| public boolean hasDateCreated() |
| { |
| return ( null != this.dateCreated ); |
| } |
| |
| /** |
| * Determine if an update date was specified in the query. |
| * |
| * @return <code>true</code> if a date of update was specified, else <code>false</code>. |
| */ |
| public boolean hasDateUpdated() |
| { |
| return ( null != this.dateUpdated ); |
| } |
| |
| /** |
| * Determine if there was a Project Group 'description' specified in the query. |
| * |
| * @return <code>true</code> if there was a Project Group 'description' specified , else <code>false</code>. |
| */ |
| public boolean hasDescription() |
| { |
| return ( null != this.description && this.description.length() > 0 ); |
| } |
| |
| /** |
| * Determine if there was a Group Id for the {@link ProjectGroup} specified in the query. |
| * |
| * @return <code>true</code> if there was a Group Id for the {@link ProjectGroup} specified, else |
| * <code>false</code>. |
| */ |
| public boolean hasGroupId() |
| { |
| return ( null != this.groupId && this.groupId.length() > 0 ); |
| } |
| |
| /** |
| * |
| * @return |
| */ |
| public boolean hasId() |
| { |
| return ( null != this.id && this.id.longValue() > 0L ); |
| } |
| |
| /** |
| * Determine if there was a model encoding specified in the query. |
| * |
| * @return <code>true</code> if there was a model encoding specified, else <code>false</code>. |
| */ |
| public boolean hasModelEncoding() |
| { |
| return ( null != this.modelEncoding && this.modelEncoding.length() > 0 ); |
| } |
| |
| /** |
| * Determine if there is a {@link ProjectGroup} name specified in the query. |
| * |
| * @return <code>true</code> if there is a {@link ProjectGroup} name specified, else <code>false</code>. |
| */ |
| public boolean hasName() |
| { |
| return ( null != this.name && this.name.length() > 0 ); |
| } |
| |
| /** |
| * @return |
| */ |
| public Long getId() |
| { |
| return this.id; |
| } |
| |
| /** |
| * @return |
| */ |
| public String getModelEncoding() |
| { |
| return this.modelEncoding; |
| } |
| |
| /** |
| * @return |
| */ |
| public String getName() |
| { |
| return this.name; |
| } |
| |
| /** |
| * @param dateCreated |
| */ |
| public void setDateCreated( Date dateCreated ) |
| { |
| this.dateCreated = dateCreated; |
| } |
| |
| /** |
| * @param dateUpdated |
| */ |
| public void setDateUpdated( Date dateUpdated ) |
| { |
| this.dateUpdated = dateUpdated; |
| } |
| |
| /** |
| * @param description |
| */ |
| public void setDescription( String description ) |
| { |
| this.description = description; |
| } |
| |
| /** |
| * @param groupId |
| */ |
| public void setGroupId( String groupId ) |
| { |
| this.groupId = groupId; |
| } |
| |
| /** |
| * @param id |
| */ |
| public void setId( Long id ) |
| { |
| this.id = id; |
| } |
| |
| /** |
| * @param modelEncoding |
| */ |
| public void setModelEncoding( String modelEncoding ) |
| { |
| this.modelEncoding = modelEncoding; |
| } |
| |
| /** |
| * @param name |
| */ |
| public void setName( String name ) |
| { |
| this.name = name; |
| } |
| |
| /** |
| * @{inheritDoc} |
| * |
| * @see org.apache.continuum.store.api.Query#toString(java.util.Map) |
| */ |
| public String toString( Map<String, Object> whereClause ) |
| { |
| StringBuffer sb = new StringBuffer(); |
| |
| if ( this.hasId() ) |
| { |
| whereClause.put( "id", this.getId() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.id =:id " ); |
| } |
| if ( this.hasDateCreated() ) |
| { |
| whereClause.put( "dateCreated", this.getDateCreated() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.dateCreated =:dateCreated " ); |
| } |
| if ( this.hasDateUpdated() ) |
| { |
| whereClause.put( "dateUpdated", this.getDateUpdated() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.dateUpdated =:dateUpdated " ); |
| } |
| if ( this.hasDescription() ) |
| { |
| whereClause.put( "description", this.getDescription() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.description =:description " ); |
| } |
| if ( this.hasGroupId() ) |
| { |
| whereClause.put( "groupId", this.getGroupId() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.groupId =:groupId " ); |
| } |
| if ( this.hasModelEncoding() ) |
| { |
| whereClause.put( "modelEncoding", this.getModelEncoding() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.modelEncoding =:modelEncoding " ); |
| } |
| if ( this.hasName() ) |
| { |
| whereClause.put( "name", this.getName() ); |
| if ( sb.length() > 0 ) |
| sb.append( "and" ); |
| sb.append( " projectGroup.name =:name " ); |
| } |
| |
| if ( sb.length() > 0 ) |
| sb.insert( 0, " where " ); |
| sb.insert( 0, "select projectGroup from ProjectGroup as projectGroup " ); |
| |
| return sb.toString(); |
| } |
| |
| } |