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

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


package gobblin.restli.throttling;

import java.util.List;
import javax.annotation.Generated;
import com.linkedin.data.DataMap;
import com.linkedin.data.schema.PathSpec;
import com.linkedin.data.schema.RecordDataSchema;
import com.linkedin.data.template.DataTemplateUtil;
import com.linkedin.data.template.GetMode;
import com.linkedin.data.template.RecordTemplate;
import com.linkedin.data.template.SetMode;


/**
 * Used by gobblin-throttling-service to allocate permits to a client.
 * 
 */
@Generated(value = "com.linkedin.pegasus.generator.JavaCodeUtil", comments = "Rest.li Data Template. Generated from /Users/ibuenros/repos/gobblin/gobblin-restli/gobblin-throttling-service/gobblin-throttling-service-api/src/main/pegasus/gobblin/restli/throttling/PermitAllocation.pdsc.", date = "Tue May 09 09:51:51 PDT 2017")
public class PermitAllocation
    extends RecordTemplate
{

    private final static PermitAllocation.Fields _fields = new PermitAllocation.Fields();
    private final static RecordDataSchema SCHEMA = ((RecordDataSchema) DataTemplateUtil.parseSchema("{\"type\":\"record\",\"name\":\"PermitAllocation\",\"namespace\":\"gobblin.restli.throttling\",\"doc\":\"Used by gobblin-throttling-service to allocate permits to a client.\",\"fields\":[{\"name\":\"permits\",\"type\":\"long\",\"doc\":\"Number of permits allocated. This may be 0 if no permits are allocated, or the number of requested permits.\"},{\"name\":\"expiration\",\"type\":\"long\",\"doc\":\"Expiration time in Unix timestamp of the allocated permits.\"},{\"name\":\"minRetryDelayMillis\",\"type\":\"long\",\"doc\":\"Client should not try to acquire permits before this delay has passed.\",\"optional\":true}]}"));
    private final static RecordDataSchema.Field FIELD_Permits = SCHEMA.getField("permits");
    private final static RecordDataSchema.Field FIELD_Expiration = SCHEMA.getField("expiration");
    private final static RecordDataSchema.Field FIELD_MinRetryDelayMillis = SCHEMA.getField("minRetryDelayMillis");

    public PermitAllocation() {
        super(new DataMap(), SCHEMA);
    }

    public PermitAllocation(DataMap data) {
        super(data, SCHEMA);
    }

    public static PermitAllocation.Fields fields() {
        return _fields;
    }

    /**
     * Existence checker for permits
     * 
     * @see Fields#permits
     */
    public boolean hasPermits() {
        return contains(FIELD_Permits);
    }

    /**
     * Remover for permits
     * 
     * @see Fields#permits
     */
    public void removePermits() {
        remove(FIELD_Permits);
    }

    /**
     * Getter for permits
     * 
     * @see Fields#permits
     */
    public Long getPermits(GetMode mode) {
        return obtainDirect(FIELD_Permits, Long.class, mode);
    }

    /**
     * Getter for permits
     * 
     * @see Fields#permits
     */
    public Long getPermits() {
        return getPermits(GetMode.STRICT);
    }

    /**
     * Setter for permits
     * 
     * @see Fields#permits
     */
    public PermitAllocation setPermits(Long value, SetMode mode) {
        putDirect(FIELD_Permits, Long.class, Long.class, value, mode);
        return this;
    }

    /**
     * Setter for permits
     * 
     * @see Fields#permits
     */
    public PermitAllocation setPermits(Long value) {
        putDirect(FIELD_Permits, Long.class, Long.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Setter for permits
     * 
     * @see Fields#permits
     */
    public PermitAllocation setPermits(long value) {
        putDirect(FIELD_Permits, Long.class, Long.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for expiration
     * 
     * @see Fields#expiration
     */
    public boolean hasExpiration() {
        return contains(FIELD_Expiration);
    }

    /**
     * Remover for expiration
     * 
     * @see Fields#expiration
     */
    public void removeExpiration() {
        remove(FIELD_Expiration);
    }

    /**
     * Getter for expiration
     * 
     * @see Fields#expiration
     */
    public Long getExpiration(GetMode mode) {
        return obtainDirect(FIELD_Expiration, Long.class, mode);
    }

    /**
     * Getter for expiration
     * 
     * @see Fields#expiration
     */
    public Long getExpiration() {
        return getExpiration(GetMode.STRICT);
    }

    /**
     * Setter for expiration
     * 
     * @see Fields#expiration
     */
    public PermitAllocation setExpiration(Long value, SetMode mode) {
        putDirect(FIELD_Expiration, Long.class, Long.class, value, mode);
        return this;
    }

    /**
     * Setter for expiration
     * 
     * @see Fields#expiration
     */
    public PermitAllocation setExpiration(Long value) {
        putDirect(FIELD_Expiration, Long.class, Long.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Setter for expiration
     * 
     * @see Fields#expiration
     */
    public PermitAllocation setExpiration(long value) {
        putDirect(FIELD_Expiration, Long.class, Long.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public boolean hasMinRetryDelayMillis() {
        return contains(FIELD_MinRetryDelayMillis);
    }

    /**
     * Remover for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public void removeMinRetryDelayMillis() {
        remove(FIELD_MinRetryDelayMillis);
    }

    /**
     * Getter for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public Long getMinRetryDelayMillis(GetMode mode) {
        return obtainDirect(FIELD_MinRetryDelayMillis, Long.class, mode);
    }

    /**
     * Getter for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public Long getMinRetryDelayMillis() {
        return getMinRetryDelayMillis(GetMode.STRICT);
    }

    /**
     * Setter for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public PermitAllocation setMinRetryDelayMillis(Long value, SetMode mode) {
        putDirect(FIELD_MinRetryDelayMillis, Long.class, Long.class, value, mode);
        return this;
    }

    /**
     * Setter for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public PermitAllocation setMinRetryDelayMillis(Long value) {
        putDirect(FIELD_MinRetryDelayMillis, Long.class, Long.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Setter for minRetryDelayMillis
     * 
     * @see Fields#minRetryDelayMillis
     */
    public PermitAllocation setMinRetryDelayMillis(long value) {
        putDirect(FIELD_MinRetryDelayMillis, Long.class, Long.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    @Override
    public PermitAllocation clone()
        throws CloneNotSupportedException
    {
        return ((PermitAllocation) super.clone());
    }

    @Override
    public PermitAllocation copy()
        throws CloneNotSupportedException
    {
        return ((PermitAllocation) super.copy());
    }

    public static class Fields
        extends PathSpec
    {


        public Fields(List path, String name) {
            super(path, name);
        }

        public Fields() {
            super();
        }

        /**
         * Number of permits allocated. This may be 0 if no permits are allocated, or the number of requested permits.
         * 
         */
        public PathSpec permits() {
            return new PathSpec(getPathComponents(), "permits");
        }

        /**
         * Expiration time in Unix timestamp of the allocated permits.
         * 
         */
        public PathSpec expiration() {
            return new PathSpec(getPathComponents(), "expiration");
        }

        /**
         * Client should not try to acquire permits before this delay has passed.
         * 
         */
        public PathSpec minRetryDelayMillis() {
            return new PathSpec(getPathComponents(), "minRetryDelayMillis");
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy