com.backendless.persistence.DataQueryBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-sdk-common Show documentation
Show all versions of java-sdk-common Show documentation
Provides access to Backendless API
The newest version!
package com.backendless.persistence;
import java.util.ArrayList;
import java.util.List;
public class DataQueryBuilder
{
private final PagedQueryBuilder pagedQueryBuilder;
private final QueryOptionsBuilder queryOptionsBuilder;
private boolean distinct = false;
private final ArrayList properties;
private final ArrayList excludeProperties;
private String whereClause;
private final List groupBy;
private String havingClause;
private DataQueryBuilder()
{
properties = new ArrayList<>();
excludeProperties = new ArrayList<>();
pagedQueryBuilder = new PagedQueryBuilder<>( this );
queryOptionsBuilder = new QueryOptionsBuilder<>( this );
groupBy = new ArrayList<>();
havingClause = "";
}
public static DataQueryBuilder create()
{
return new DataQueryBuilder();
}
public BackendlessDataQuery build()
{
BackendlessDataQuery dataQuery = pagedQueryBuilder.build();
dataQuery.setDistinct( getDistinct() );
dataQuery.setQueryOptions( queryOptionsBuilder.build() );
dataQuery.setProperties( properties );
dataQuery.setExcludeProperties( excludeProperties );
dataQuery.setWhereClause( whereClause );
dataQuery.setGroupBy( groupBy );
dataQuery.setHavingClause( havingClause );
return dataQuery;
}
/*--- Auto-generated code ---*/
public DataQueryBuilder setPageSize( int pageSize )
{
return pagedQueryBuilder.setPageSize( pageSize );
}
public DataQueryBuilder setOffset( int offset )
{
return pagedQueryBuilder.setOffset( offset );
}
public DataQueryBuilder prepareNextPage()
{
return pagedQueryBuilder.prepareNextPage();
}
public DataQueryBuilder preparePreviousPage()
{
return pagedQueryBuilder.preparePreviousPage();
}
public boolean getDistinct()
{
return distinct;
}
public DataQueryBuilder setDistinct(boolean distinct)
{
this.distinct = distinct;
return this;
}
public List getProperties()
{
return (List) this.properties.clone();
}
public DataQueryBuilder setProperties( List properties )
{
this.properties.clear();
if (properties != null)
for( String prop: properties )
this.addProperty( prop );
return this;
}
public DataQueryBuilder setProperties( String... properties )
{
this.properties.clear();
this.addProperties( properties );
return this;
}
public DataQueryBuilder addProperties( String... properties )
{
if( properties != null )
for( String prop : properties )
this.addProperty( prop );
return this;
}
public DataQueryBuilder addProperty( String property )
{
if( property != null && !property.equals( "" ) )
properties.add( property );
return this;
}
public DataQueryBuilder addAllProperties()
{
this.addProperty( "*" );
return this;
}
public ArrayList getExcludedProperties()
{
return (ArrayList) excludeProperties.clone();
}
public DataQueryBuilder excludeProperties( ArrayList excludeProperties )
{
this.excludeProperties.clear();
if( excludeProperties != null )
for( String exclProp: excludeProperties )
this.excludeProperty( exclProp );
return this;
}
public DataQueryBuilder excludeProperties( String... excludeProperties )
{
this.excludeProperties.clear();
if( excludeProperties != null )
for( String exclProp: excludeProperties )
this.excludeProperty( exclProp );
return this;
}
public DataQueryBuilder excludeProperty( String excludeProperty )
{
if( excludeProperty != null && !excludeProperty.isEmpty() )
this.excludeProperties.add( excludeProperty );
return this;
}
public String getWhereClause()
{
return whereClause;
}
public DataQueryBuilder setWhereClause( String whereClause )
{
this.whereClause = whereClause;
return this;
}
public List getSortBy()
{
return queryOptionsBuilder.getSortBy();
}
public DataQueryBuilder setSortBy( List sortBy )
{
return queryOptionsBuilder.setSortBy( sortBy );
}
public DataQueryBuilder setSortBy( String... sortBy )
{
return queryOptionsBuilder.setSortBy( sortBy );
}
public DataQueryBuilder addSortBy( String sortBy )
{
return queryOptionsBuilder.addSortBy( sortBy );
}
public List getRelated()
{
return queryOptionsBuilder.getRelated();
}
public DataQueryBuilder setRelated( List related )
{
return queryOptionsBuilder.setRelated( related );
}
public DataQueryBuilder setRelated( String... related )
{
return queryOptionsBuilder.setRelated( related );
}
public DataQueryBuilder setFileReferencePrefix( String fileReferencePrefix )
{
return queryOptionsBuilder.setFileReferencePrefix( fileReferencePrefix );
}
public DataQueryBuilder addRelated( List related )
{
return queryOptionsBuilder.addRelated( related );
}
public DataQueryBuilder addRelated( String related )
{
return queryOptionsBuilder.addRelated( related );
}
public Integer getRelationsDepth()
{
return queryOptionsBuilder.getRelationsDepth();
}
public DataQueryBuilder setRelationsDepth( Integer relationsDepth )
{
return queryOptionsBuilder.setRelationsDepth( relationsDepth );
}
public List getGroupBy()
{
return new ArrayList<>( this.groupBy );
}
public DataQueryBuilder setGroupBy( String... groupBy )
{
this.groupBy.clear();
this.addGroupBy( groupBy );
return this;
}
public DataQueryBuilder addGroupBy( String... groupBy )
{
for( String grb : groupBy )
{
if( grb != null && !grb.equals( "" ) )
this.groupBy.add( grb );
}
return this;
}
public String getHavingClause()
{
return havingClause;
}
public DataQueryBuilder setHavingClause( String havingClause )
{
this.havingClause = havingClause;
return this;
}
public DataQueryBuilder setRelationsPageSize( Integer relationsPageSize )
{
return queryOptionsBuilder.setRelationsPageSize( relationsPageSize );
}
public Integer getRelationPageSize()
{
return queryOptionsBuilder.getRelationsPageSize();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy