com.kaltura.client.utils.request.ListResponseRequestBuilder Maven / Gradle / Ivy
package com.kaltura.client.utils.request;
import com.kaltura.client.types.APIException;
import com.kaltura.client.types.ListResponse;
import com.kaltura.client.utils.GsonParser;
public abstract class ListResponseRequestBuilder extends RequestBuilder, ListResponse.Tokenizer, S> {
private Class type;
public ListResponseRequestBuilder(Class type, String service, String action) {
super(null, service, action);
this.type = type;
}
public Class> getType() {
return ListResponse.class;
}
public Class getRawType(){
return type;
}
protected Object parse(String response) throws APIException {
return GsonParser.parseListResponse(response, type);
}
@SuppressWarnings("unchecked")
public ListResponse.Tokenizer getTokenizer() throws APIException {
if(id == null) {
throw new APIException(APIException.FailureStep.OnRequest, "Request is not part of multi-request");
}
MultiRequestBuilder.Tokenizer annotation = type.getAnnotation(MultiRequestBuilder.Tokenizer.class);
return new RequestBuilder.ListResponseTokenizer((Class)annotation.value(), id + ":result");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy