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

com.shell.apitest.models.BundleRestrictionUpdate Maven / Gradle / Ivy

/*
 * ShellCardManagementAPIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

package com.shell.apitest.models;

import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.apimatic.core.types.OptionalNullable;

/**
 * This is a model class for BundleRestrictionUpdate type.
 */
public class BundleRestrictionUpdate {
    private OptionalNullable resetDayTimeRestriction;
    private OptionalNullable resetLocationRestriction;
    private OptionalNullable resetProductRestriction;
    private Object usageRestrictions;
    private OptionalNullable dayTimeRestrictionProfileId;
    private CardDayTimeRestrictions dayTimeRestrictions;
    private Object productRestrictions;
    private String locationRestrictionProfileId;
    private LocationRestriction locationRestrictions;

    /**
     * Default constructor.
     */
    public BundleRestrictionUpdate() {
    }

    /**
     * Initialization constructor.
     * @param  resetDayTimeRestriction  Boolean value for resetDayTimeRestriction.
     * @param  resetLocationRestriction  Boolean value for resetLocationRestriction.
     * @param  resetProductRestriction  Boolean value for resetProductRestriction.
     * @param  usageRestrictions  Object value for usageRestrictions.
     * @param  dayTimeRestrictionProfileId  String value for dayTimeRestrictionProfileId.
     * @param  dayTimeRestrictions  CardDayTimeRestrictions value for dayTimeRestrictions.
     * @param  productRestrictions  Object value for productRestrictions.
     * @param  locationRestrictionProfileId  String value for locationRestrictionProfileId.
     * @param  locationRestrictions  LocationRestriction value for locationRestrictions.
     */
    public BundleRestrictionUpdate(
            Boolean resetDayTimeRestriction,
            Boolean resetLocationRestriction,
            Boolean resetProductRestriction,
            Object usageRestrictions,
            String dayTimeRestrictionProfileId,
            CardDayTimeRestrictions dayTimeRestrictions,
            Object productRestrictions,
            String locationRestrictionProfileId,
            LocationRestriction locationRestrictions) {
        this.resetDayTimeRestriction = OptionalNullable.of(resetDayTimeRestriction);
        this.resetLocationRestriction = OptionalNullable.of(resetLocationRestriction);
        this.resetProductRestriction = OptionalNullable.of(resetProductRestriction);
        this.usageRestrictions = usageRestrictions;
        this.dayTimeRestrictionProfileId = OptionalNullable.of(dayTimeRestrictionProfileId);
        this.dayTimeRestrictions = dayTimeRestrictions;
        this.productRestrictions = productRestrictions;
        this.locationRestrictionProfileId = locationRestrictionProfileId;
        this.locationRestrictions = locationRestrictions;
    }

    /**
     * Initialization constructor.
     * @param  resetDayTimeRestriction  Boolean value for resetDayTimeRestriction.
     * @param  resetLocationRestriction  Boolean value for resetLocationRestriction.
     * @param  resetProductRestriction  Boolean value for resetProductRestriction.
     * @param  usageRestrictions  Object value for usageRestrictions.
     * @param  dayTimeRestrictionProfileId  String value for dayTimeRestrictionProfileId.
     * @param  dayTimeRestrictions  CardDayTimeRestrictions value for dayTimeRestrictions.
     * @param  productRestrictions  Object value for productRestrictions.
     * @param  locationRestrictionProfileId  String value for locationRestrictionProfileId.
     * @param  locationRestrictions  LocationRestriction value for locationRestrictions.
     */

    protected BundleRestrictionUpdate(OptionalNullable resetDayTimeRestriction,
            OptionalNullable resetLocationRestriction,
            OptionalNullable resetProductRestriction, Object usageRestrictions,
            OptionalNullable dayTimeRestrictionProfileId,
            CardDayTimeRestrictions dayTimeRestrictions, Object productRestrictions,
            String locationRestrictionProfileId, LocationRestriction locationRestrictions) {
        this.resetDayTimeRestriction = resetDayTimeRestriction;
        this.resetLocationRestriction = resetLocationRestriction;
        this.resetProductRestriction = resetProductRestriction;
        this.usageRestrictions = usageRestrictions;
        this.dayTimeRestrictionProfileId = dayTimeRestrictionProfileId;
        this.dayTimeRestrictions = dayTimeRestrictions;
        this.productRestrictions = productRestrictions;
        this.locationRestrictionProfileId = locationRestrictionProfileId;
        this.locationRestrictions = locationRestrictions;
    }

    /**
     * Internal Getter for ResetDayTimeRestriction.
     * True/False A value indicates if the day/time restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @return Returns the Internal Boolean
     */
    @JsonGetter("ResetDayTimeRestriction")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetResetDayTimeRestriction() {
        return this.resetDayTimeRestriction;
    }

    /**
     * Getter for ResetDayTimeRestriction.
     * True/False A value indicates if the day/time restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @return Returns the Boolean
     */
    public Boolean getResetDayTimeRestriction() {
        return OptionalNullable.getFrom(resetDayTimeRestriction);
    }

    /**
     * Setter for ResetDayTimeRestriction.
     * True/False A value indicates if the day/time restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @param resetDayTimeRestriction Value for Boolean
     */
    @JsonSetter("ResetDayTimeRestriction")
    public void setResetDayTimeRestriction(Boolean resetDayTimeRestriction) {
        this.resetDayTimeRestriction = OptionalNullable.of(resetDayTimeRestriction);
    }

    /**
     * UnSetter for ResetDayTimeRestriction.
     * True/False A value indicates if the day/time restriction is to be reset for card bundle.
     * Optional Default value is False.
     */
    public void unsetResetDayTimeRestriction() {
        resetDayTimeRestriction = null;
    }

    /**
     * Internal Getter for ResetLocationRestriction.
     * True/False A value indicates if the location restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @return Returns the Internal Boolean
     */
    @JsonGetter("ResetLocationRestriction")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetResetLocationRestriction() {
        return this.resetLocationRestriction;
    }

    /**
     * Getter for ResetLocationRestriction.
     * True/False A value indicates if the location restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @return Returns the Boolean
     */
    public Boolean getResetLocationRestriction() {
        return OptionalNullable.getFrom(resetLocationRestriction);
    }

    /**
     * Setter for ResetLocationRestriction.
     * True/False A value indicates if the location restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @param resetLocationRestriction Value for Boolean
     */
    @JsonSetter("ResetLocationRestriction")
    public void setResetLocationRestriction(Boolean resetLocationRestriction) {
        this.resetLocationRestriction = OptionalNullable.of(resetLocationRestriction);
    }

    /**
     * UnSetter for ResetLocationRestriction.
     * True/False A value indicates if the location restriction is to be reset for card bundle.
     * Optional Default value is False.
     */
    public void unsetResetLocationRestriction() {
        resetLocationRestriction = null;
    }

    /**
     * Internal Getter for ResetProductRestriction.
     * True/False A value indicates if the product restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @return Returns the Internal Boolean
     */
    @JsonGetter("ResetProductRestriction")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetResetProductRestriction() {
        return this.resetProductRestriction;
    }

    /**
     * Getter for ResetProductRestriction.
     * True/False A value indicates if the product restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @return Returns the Boolean
     */
    public Boolean getResetProductRestriction() {
        return OptionalNullable.getFrom(resetProductRestriction);
    }

    /**
     * Setter for ResetProductRestriction.
     * True/False A value indicates if the product restriction is to be reset for card bundle.
     * Optional Default value is False.
     * @param resetProductRestriction Value for Boolean
     */
    @JsonSetter("ResetProductRestriction")
    public void setResetProductRestriction(Boolean resetProductRestriction) {
        this.resetProductRestriction = OptionalNullable.of(resetProductRestriction);
    }

    /**
     * UnSetter for ResetProductRestriction.
     * True/False A value indicates if the product restriction is to be reset for card bundle.
     * Optional Default value is False.
     */
    public void unsetResetProductRestriction() {
        resetProductRestriction = null;
    }

    /**
     * Getter for UsageRestrictions.
     * @return Returns the Object
     */
    @JsonGetter("UsageRestrictions")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Object getUsageRestrictions() {
        return usageRestrictions;
    }

    /**
     * Setter for UsageRestrictions.
     * @param usageRestrictions Value for Object
     */
    @JsonSetter("UsageRestrictions")
    public void setUsageRestrictions(Object usageRestrictions) {
        this.usageRestrictions = usageRestrictions;
    }

    /**
     * Internal Getter for DayTimeRestrictionProfileId.
     * Identifier of the day/time restriction profile to be updated for the bundle in Gateway.
     * Optional
     * @return Returns the Internal String
     */
    @JsonGetter("DayTimeRestrictionProfileId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetDayTimeRestrictionProfileId() {
        return this.dayTimeRestrictionProfileId;
    }

    /**
     * Getter for DayTimeRestrictionProfileId.
     * Identifier of the day/time restriction profile to be updated for the bundle in Gateway.
     * Optional
     * @return Returns the String
     */
    public String getDayTimeRestrictionProfileId() {
        return OptionalNullable.getFrom(dayTimeRestrictionProfileId);
    }

    /**
     * Setter for DayTimeRestrictionProfileId.
     * Identifier of the day/time restriction profile to be updated for the bundle in Gateway.
     * Optional
     * @param dayTimeRestrictionProfileId Value for String
     */
    @JsonSetter("DayTimeRestrictionProfileId")
    public void setDayTimeRestrictionProfileId(String dayTimeRestrictionProfileId) {
        this.dayTimeRestrictionProfileId = OptionalNullable.of(dayTimeRestrictionProfileId);
    }

    /**
     * UnSetter for DayTimeRestrictionProfileId.
     * Identifier of the day/time restriction profile to be updated for the bundle in Gateway.
     * Optional
     */
    public void unsetDayTimeRestrictionProfileId() {
        dayTimeRestrictionProfileId = null;
    }

    /**
     * Getter for DayTimeRestrictions.
     * @return Returns the CardDayTimeRestrictions
     */
    @JsonGetter("DayTimeRestrictions")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDayTimeRestrictions getDayTimeRestrictions() {
        return dayTimeRestrictions;
    }

    /**
     * Setter for DayTimeRestrictions.
     * @param dayTimeRestrictions Value for CardDayTimeRestrictions
     */
    @JsonSetter("DayTimeRestrictions")
    public void setDayTimeRestrictions(CardDayTimeRestrictions dayTimeRestrictions) {
        this.dayTimeRestrictions = dayTimeRestrictions;
    }

    /**
     * Getter for ProductRestrictions.
     * @return Returns the Object
     */
    @JsonGetter("ProductRestrictions")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Object getProductRestrictions() {
        return productRestrictions;
    }

    /**
     * Setter for ProductRestrictions.
     * @param productRestrictions Value for Object
     */
    @JsonSetter("ProductRestrictions")
    public void setProductRestrictions(Object productRestrictions) {
        this.productRestrictions = productRestrictions;
    }

    /**
     * Getter for LocationRestrictionProfileId.
     * Identifier of the location restriction profile to be updated for the bundle in Gateway.
     * Optional
     * @return Returns the String
     */
    @JsonGetter("LocationRestrictionProfileId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getLocationRestrictionProfileId() {
        return locationRestrictionProfileId;
    }

    /**
     * Setter for LocationRestrictionProfileId.
     * Identifier of the location restriction profile to be updated for the bundle in Gateway.
     * Optional
     * @param locationRestrictionProfileId Value for String
     */
    @JsonSetter("LocationRestrictionProfileId")
    public void setLocationRestrictionProfileId(String locationRestrictionProfileId) {
        this.locationRestrictionProfileId = locationRestrictionProfileId;
    }

    /**
     * Getter for LocationRestrictions.
     * @return Returns the LocationRestriction
     */
    @JsonGetter("LocationRestrictions")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public LocationRestriction getLocationRestrictions() {
        return locationRestrictions;
    }

    /**
     * Setter for LocationRestrictions.
     * @param locationRestrictions Value for LocationRestriction
     */
    @JsonSetter("LocationRestrictions")
    public void setLocationRestrictions(LocationRestriction locationRestrictions) {
        this.locationRestrictions = locationRestrictions;
    }

    /**
     * Converts this BundleRestrictionUpdate into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "BundleRestrictionUpdate [" + "resetDayTimeRestriction=" + resetDayTimeRestriction
                + ", resetLocationRestriction=" + resetLocationRestriction
                + ", resetProductRestriction=" + resetProductRestriction + ", usageRestrictions="
                + usageRestrictions + ", dayTimeRestrictionProfileId=" + dayTimeRestrictionProfileId
                + ", dayTimeRestrictions=" + dayTimeRestrictions + ", productRestrictions="
                + productRestrictions + ", locationRestrictionProfileId="
                + locationRestrictionProfileId + ", locationRestrictions=" + locationRestrictions
                + "]";
    }

    /**
     * Builds a new {@link BundleRestrictionUpdate.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link BundleRestrictionUpdate.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder()
                .usageRestrictions(getUsageRestrictions())
                .dayTimeRestrictions(getDayTimeRestrictions())
                .productRestrictions(getProductRestrictions())
                .locationRestrictionProfileId(getLocationRestrictionProfileId())
                .locationRestrictions(getLocationRestrictions());
        builder.resetDayTimeRestriction = internalGetResetDayTimeRestriction();
        builder.resetLocationRestriction = internalGetResetLocationRestriction();
        builder.resetProductRestriction = internalGetResetProductRestriction();
        builder.dayTimeRestrictionProfileId = internalGetDayTimeRestrictionProfileId();
        return builder;
    }

    /**
     * Class to build instances of {@link BundleRestrictionUpdate}.
     */
    public static class Builder {
        private OptionalNullable resetDayTimeRestriction;
        private OptionalNullable resetLocationRestriction;
        private OptionalNullable resetProductRestriction;
        private Object usageRestrictions;
        private OptionalNullable dayTimeRestrictionProfileId;
        private CardDayTimeRestrictions dayTimeRestrictions;
        private Object productRestrictions;
        private String locationRestrictionProfileId;
        private LocationRestriction locationRestrictions;



        /**
         * Setter for resetDayTimeRestriction.
         * @param  resetDayTimeRestriction  Boolean value for resetDayTimeRestriction.
         * @return Builder
         */
        public Builder resetDayTimeRestriction(Boolean resetDayTimeRestriction) {
            this.resetDayTimeRestriction = OptionalNullable.of(resetDayTimeRestriction);
            return this;
        }

        /**
         * UnSetter for resetDayTimeRestriction.
         * @return Builder
         */
        public Builder unsetResetDayTimeRestriction() {
            resetDayTimeRestriction = null;
            return this;
        }

        /**
         * Setter for resetLocationRestriction.
         * @param  resetLocationRestriction  Boolean value for resetLocationRestriction.
         * @return Builder
         */
        public Builder resetLocationRestriction(Boolean resetLocationRestriction) {
            this.resetLocationRestriction = OptionalNullable.of(resetLocationRestriction);
            return this;
        }

        /**
         * UnSetter for resetLocationRestriction.
         * @return Builder
         */
        public Builder unsetResetLocationRestriction() {
            resetLocationRestriction = null;
            return this;
        }

        /**
         * Setter for resetProductRestriction.
         * @param  resetProductRestriction  Boolean value for resetProductRestriction.
         * @return Builder
         */
        public Builder resetProductRestriction(Boolean resetProductRestriction) {
            this.resetProductRestriction = OptionalNullable.of(resetProductRestriction);
            return this;
        }

        /**
         * UnSetter for resetProductRestriction.
         * @return Builder
         */
        public Builder unsetResetProductRestriction() {
            resetProductRestriction = null;
            return this;
        }

        /**
         * Setter for usageRestrictions.
         * @param  usageRestrictions  Object value for usageRestrictions.
         * @return Builder
         */
        public Builder usageRestrictions(Object usageRestrictions) {
            this.usageRestrictions = usageRestrictions;
            return this;
        }

        /**
         * Setter for dayTimeRestrictionProfileId.
         * @param  dayTimeRestrictionProfileId  String value for dayTimeRestrictionProfileId.
         * @return Builder
         */
        public Builder dayTimeRestrictionProfileId(String dayTimeRestrictionProfileId) {
            this.dayTimeRestrictionProfileId = OptionalNullable.of(dayTimeRestrictionProfileId);
            return this;
        }

        /**
         * UnSetter for dayTimeRestrictionProfileId.
         * @return Builder
         */
        public Builder unsetDayTimeRestrictionProfileId() {
            dayTimeRestrictionProfileId = null;
            return this;
        }

        /**
         * Setter for dayTimeRestrictions.
         * @param  dayTimeRestrictions  CardDayTimeRestrictions value for dayTimeRestrictions.
         * @return Builder
         */
        public Builder dayTimeRestrictions(CardDayTimeRestrictions dayTimeRestrictions) {
            this.dayTimeRestrictions = dayTimeRestrictions;
            return this;
        }

        /**
         * Setter for productRestrictions.
         * @param  productRestrictions  Object value for productRestrictions.
         * @return Builder
         */
        public Builder productRestrictions(Object productRestrictions) {
            this.productRestrictions = productRestrictions;
            return this;
        }

        /**
         * Setter for locationRestrictionProfileId.
         * @param  locationRestrictionProfileId  String value for locationRestrictionProfileId.
         * @return Builder
         */
        public Builder locationRestrictionProfileId(String locationRestrictionProfileId) {
            this.locationRestrictionProfileId = locationRestrictionProfileId;
            return this;
        }

        /**
         * Setter for locationRestrictions.
         * @param  locationRestrictions  LocationRestriction value for locationRestrictions.
         * @return Builder
         */
        public Builder locationRestrictions(LocationRestriction locationRestrictions) {
            this.locationRestrictions = locationRestrictions;
            return this;
        }

        /**
         * Builds a new {@link BundleRestrictionUpdate} object using the set fields.
         * @return {@link BundleRestrictionUpdate}
         */
        public BundleRestrictionUpdate build() {
            return new BundleRestrictionUpdate(resetDayTimeRestriction, resetLocationRestriction,
                    resetProductRestriction, usageRestrictions, dayTimeRestrictionProfileId,
                    dayTimeRestrictions, productRestrictions, locationRestrictionProfileId,
                    locationRestrictions);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy