com.kaltura.client.utils.request.ArrayRequestBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kalturaApiClient Show documentation
Show all versions of kalturaApiClient Show documentation
KalturaClient is a library of Java classes that can be used to interact
with the Kaltura REST API. More information about the REST API can be
found at http://corp.kaltura.com/Products/Kaltura-API Many of the Java classes
in this library are auto-generated from a schema that defines the objects that
are used to interect with the API. The current schema can be found at
http://www.kaltura.com/api_v3/api_schema.php
package com.kaltura.client.utils.request;
import java.util.List;
import com.kaltura.client.types.APIException;
import com.kaltura.client.utils.GsonParser;
public abstract class ArrayRequestBuilder extends RequestBuilder, RequestBuilder.ListTokenizer, S> {
private Class type;
public ArrayRequestBuilder(Class type, String service, String action) {
super(null, service, action);
this.type = type;
}
public Class> getType() {
return type;
}
protected Object parse(String response) throws APIException {
return GsonParser.parseArray(response, type);
}
@SuppressWarnings("unchecked")
public RequestBuilder.ListTokenizer 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.ListTokenizer((Class)annotation.value(), id + ":result");
}
}