
gobblin.restli.throttling.PermitsBuilders 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.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;
import com.linkedin.restli.internal.common.URIParamUtils;
/**
* 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
*
* @deprecated
* This format of request builder is obsolete. Please use {@link gobblin.restli.throttling.PermitsRequestBuilders} instead.
*/
@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")
@Deprecated
public class PermitsBuilders {
private final String _baseUriTemplate;
private RestliRequestOptions _requestOptions;
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 PermitsBuilders() {
this(RestliRequestOptions.DEFAULT_OPTIONS);
}
public PermitsBuilders(RestliRequestOptions requestOptions) {
_baseUriTemplate = ORIGINAL_RESOURCE_PATH;
_requestOptions = assignRequestOptions(requestOptions);
}
public PermitsBuilders(String primaryResourceName) {
this(primaryResourceName, RestliRequestOptions.DEFAULT_OPTIONS);
}
public PermitsBuilders(String primaryResourceName, RestliRequestOptions requestOptions) {
_baseUriTemplate = primaryResourceName;
_requestOptions = assignRequestOptions(requestOptions);
}
private String getBaseUriTemplate() {
return _baseUriTemplate;
}
public RestliRequestOptions getRequestOptions() {
return _requestOptions;
}
public String[] getPathComponents() {
return URIParamUtils.extractPathComponentsFromUriTemplate(_baseUriTemplate);
}
private static RestliRequestOptions assignRequestOptions(RestliRequestOptions requestOptions) {
if (requestOptions == null) {
return RestliRequestOptions.DEFAULT_OPTIONS;
} else {
return 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 PermitsGetBuilder get() {
return new PermitsGetBuilder(getBaseUriTemplate(), _resourceSpec, getRequestOptions());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy