package com.robotoworks.example.books.net;
import android.net.Uri;
import com.robotoworks.mechanoid.net.ServiceRequest;
public class GetBooksRequest extends ServiceRequest {
private static final String PATH = "/books";
private int offsetParam;
private boolean offsetParamSet;
private int limitParam = 100;
private boolean limitParamSet = true;
private String apiTokenParam;
private boolean apiTokenParamSet;
public GetBooksRequest setOffsetParam(int value) {
this.offsetParam = value;
this.offsetParamSet = true;
return this;
}
public boolean isOffsetParamSet() {
return offsetParamSet;
}
public GetBooksRequest setLimitParam(int value) {
this.limitParam = value;
this.limitParamSet = true;
return this;
}
public boolean isLimitParamSet() {
return limitParamSet;
}
public GetBooksRequest setApiTokenParam(String value) {
this.apiTokenParam = value;
this.apiTokenParamSet = true;
return this;
}
public boolean isApiTokenParamSet() {
return apiTokenParamSet;
}
public GetBooksRequest(){
}
@Override
public String createUrl(String baseUrl){
Uri.Builder uriBuilder = Uri.parse(baseUrl + PATH).buildUpon();
if(offsetParamSet){
uriBuilder.appendQueryParameter("offset", String.valueOf(offsetParam));
}
if(limitParamSet){
uriBuilder.appendQueryParameter("limit", String.valueOf(limitParam));
}
if(apiTokenParamSet){
uriBuilder.appendQueryParameter("api_token", apiTokenParam);
}
return uriBuilder.toString();
}
}