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

gobblin.restli.throttling.PermitsRequestBuilders Maven / Gradle / Ivy


package gobblin.restli.throttling;

import java.util.EnumSet;
import java.util.HashMap;
import javax.annotation.Generated;
import com.linkedin.data.template.DynamicRecordMetadata;
import com.linkedin.restli.client.OptionsRequestBuilder;
import com.linkedin.restli.client.RestliRequestOptions;
import com.linkedin.restli.client.base.BuilderBase;
import com.linkedin.restli.common.ComplexResourceKey;
import com.linkedin.restli.common.EmptyRecord;
import com.linkedin.restli.common.ResourceMethod;
import com.linkedin.restli.common.ResourceSpec;
import com.linkedin.restli.common.ResourceSpecImpl;


/**
 * Restli resource for allocating permits through Rest calls. Simply calls a {@link Limiter} in the server configured
 *  through {@link SharedResourcesBroker}.
 * 
 * generated from: gobblin.restli.throttling.LimiterServerResource
 * 
 */
@Generated(value = "com.linkedin.pegasus.generator.JavaCodeUtil", comments = "Rest.li Request Builder. Generated from /Users/ibuenros/repos/gobblin/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/idl/gobblin.restli.throttling.permits.restspec.json.", date = "Tue May 09 09:51:52 PDT 2017")
public class PermitsRequestBuilders
    extends BuilderBase
{

    private final static String ORIGINAL_RESOURCE_PATH = "permits";
    private final static ResourceSpec _resourceSpec;

    static {
        HashMap requestMetadataMap = new HashMap();
        HashMap responseMetadataMap = new HashMap();
        HashMap keyParts = new HashMap();
        _resourceSpec = new ResourceSpecImpl(EnumSet.of(ResourceMethod.GET), requestMetadataMap, responseMetadataMap, ComplexResourceKey.class, PermitRequest.class, EmptyRecord.class, PermitAllocation.class, keyParts);
    }

    public PermitsRequestBuilders() {
        this(RestliRequestOptions.DEFAULT_OPTIONS);
    }

    public PermitsRequestBuilders(RestliRequestOptions requestOptions) {
        super(ORIGINAL_RESOURCE_PATH, requestOptions);
    }

    public PermitsRequestBuilders(String primaryResourceName) {
        this(primaryResourceName, RestliRequestOptions.DEFAULT_OPTIONS);
    }

    public PermitsRequestBuilders(String primaryResourceName, RestliRequestOptions requestOptions) {
        super(primaryResourceName, requestOptions);
    }

    public static String getPrimaryResource() {
        return ORIGINAL_RESOURCE_PATH;
    }

    public OptionsRequestBuilder options() {
        return new OptionsRequestBuilder(getBaseUriTemplate(), getRequestOptions());
    }

    /**
     * Request permits from the limiter server. The returned {@link PermitAllocation} specifies the number of permits
     *  that the client can use.
     * 
     * @return
     *     builder for the resource method
     */
    public PermitsGetRequestBuilder get() {
        return new PermitsGetRequestBuilder(getBaseUriTemplate(), _resourceSpec, getRequestOptions());
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy