All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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