/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.batch;
/**
* Controls the amount of detail requested from the Azure Batch service when listing or
* retrieving resources.
*/
public class DetailLevel {
private String filterClause;
private String selectClause;
private String expandClause;
/**
* The builder class to initiate a {@link DetailLevel} instance.
*/
public static class Builder {
private String filterClause;
private String selectClause;
private String expandClause;
/**
* Initializes a new instance of the Builder class.
*/
public Builder() {}
/**
* Sets the OData filter clause. Used to restrict a list operation to items that match specified criteria.
*
* @param filter The filter clause
* @return The Builder instance
*/
public Builder withFilterClause(String filter) {
this.filterClause = filter;
return this;
}
/**
* Sets the OData select clause. Used to retrieve only specific properties instead of all object properties.
*
* @param select The select clause
* @return The Builder instance
*/
public Builder withSelectClause(String select) {
this.selectClause = select;
return this;
}
/**
* Sets the OData expand clause. Used to retrieve associated entities of the main entity being retrieved.
*
* @param expand The expand clause
* @return The Builder instance
*/
public Builder withExpandClause(String expand) {
this.expandClause = expand;
return this;
}
/**
* Create a DetailLevel class instance.
*
* @return A DetailLevel instance.
*/
public DetailLevel build() {
return new DetailLevel(this);
}
}
/**
* Gets the OData filter clause. Used to restrict a list operation to items that match specified criteria.
*
* @return The filter clause
*/
public String filterClause() {
return filterClause;
}
/**
* Gets the OData select clause. Used to retrieve only specific properties instead of all object properties.
*
* @return The select clause
*/
public String selectClause() {
return selectClause;
}
/**
* Gets the OData expand clause. Used to retrieve associated entities of the main entity being retrieved.
*
* @return The expand clause
*/
public String expandClause() {
return expandClause;
}
private DetailLevel(Builder b) {
this.selectClause = b.selectClause;
this.expandClause = b.expandClause;
this.filterClause = b.filterClause;
}
}