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

com.shell.apitest.models.PINReminderCardDetails 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 PINReminderCardDetails type.
 */
public class PINReminderCardDetails {
    private Integer cardId;
    private Integer pANID;
    private String pAN;
    private OptionalNullable cardExpiryDate;
    private int pINAdviceType;
    private Integer pINContactType;
    private PINDeliverTo pINDeliverTo;

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

    /**
     * Initialization constructor.
     * @param  pINAdviceType  int value for pINAdviceType.
     * @param  cardId  Integer value for cardId.
     * @param  pANID  Integer value for pANID.
     * @param  pAN  String value for pAN.
     * @param  cardExpiryDate  String value for cardExpiryDate.
     * @param  pINContactType  Integer value for pINContactType.
     * @param  pINDeliverTo  PINDeliverTo value for pINDeliverTo.
     */
    public PINReminderCardDetails(
            int pINAdviceType,
            Integer cardId,
            Integer pANID,
            String pAN,
            String cardExpiryDate,
            Integer pINContactType,
            PINDeliverTo pINDeliverTo) {
        this.cardId = cardId;
        this.pANID = pANID;
        this.pAN = pAN;
        this.cardExpiryDate = OptionalNullable.of(cardExpiryDate);
        this.pINAdviceType = pINAdviceType;
        this.pINContactType = pINContactType;
        this.pINDeliverTo = pINDeliverTo;
    }

    /**
     * Initialization constructor.
     * @param  pINAdviceType  int value for pINAdviceType.
     * @param  cardId  Integer value for cardId.
     * @param  pANID  Integer value for pANID.
     * @param  pAN  String value for pAN.
     * @param  cardExpiryDate  String value for cardExpiryDate.
     * @param  pINContactType  Integer value for pINContactType.
     * @param  pINDeliverTo  PINDeliverTo value for pINDeliverTo.
     */

    protected PINReminderCardDetails(int pINAdviceType, Integer cardId, Integer pANID, String pAN,
            OptionalNullable cardExpiryDate, Integer pINContactType,
            PINDeliverTo pINDeliverTo) {
        this.cardId = cardId;
        this.pANID = pANID;
        this.pAN = pAN;
        this.cardExpiryDate = cardExpiryDate;
        this.pINAdviceType = pINAdviceType;
        this.pINContactType = pINContactType;
        this.pINDeliverTo = pINDeliverTo;
    }

    /**
     * Getter for CardId.
     * Card Id Optional if Either PANID AND CardExpiryDate or PAN AND CardExpiryDate is passed, else
     * Mandatory. Example: 275549 .<br/>Note:PANID, PAN & ExpiryDate parameters will be ignored if
     * CardId is provided.
     * @return Returns the Integer
     */
    @JsonGetter("CardId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getCardId() {
        return cardId;
    }

    /**
     * Setter for CardId.
     * Card Id Optional if Either PANID AND CardExpiryDate or PAN AND CardExpiryDate is passed, else
     * Mandatory. Example: 275549 .<br/>Note:PANID, PAN & ExpiryDate parameters will be ignored if
     * CardId is provided.
     * @param cardId Value for Integer
     */
    @JsonSetter("CardId")
    public void setCardId(Integer cardId) {
        this.cardId = cardId;
    }

    /**
     * Getter for PANID.
     * PAN ID - Unique PAN ID Optional if Either CardId or PAN AND ExpiryDate is passed, else
     * Mandatory. Example: 123456. <br/>Note:PANID parameter will be considered only if CardId is
     * not provided
     * @return Returns the Integer
     */
    @JsonGetter("PANID")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getPANID() {
        return pANID;
    }

    /**
     * Setter for PANID.
     * PAN ID - Unique PAN ID Optional if Either CardId or PAN AND ExpiryDate is passed, else
     * Mandatory. Example: 123456. <br/>Note:PANID parameter will be considered only if CardId is
     * not provided
     * @param pANID Value for Integer
     */
    @JsonSetter("PANID")
    public void setPANID(Integer pANID) {
        this.pANID = pANID;
    }

    /**
     * Getter for PAN.
     * PAN of the card. Optional if Either CardId or PANID is passed, else Mandatory. <br/>Note:PAN
     * & ExpiryDate parameters will be considered only if CardId & PANID are not provided
     * @return Returns the String
     */
    @JsonGetter("PAN")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getPAN() {
        return pAN;
    }

    /**
     * Setter for PAN.
     * PAN of the card. Optional if Either CardId or PANID is passed, else Mandatory. <br/>Note:PAN
     * & ExpiryDate parameters will be considered only if CardId & PANID are not provided
     * @param pAN Value for String
     */
    @JsonSetter("PAN")
    public void setPAN(String pAN) {
        this.pAN = pAN;
    }

    /**
     * Internal Getter for CardExpiryDate.
     * Expiry date of the card. Mandatory if Either PAN or PANID is passed, else optional. Format:
     * yyyyMMdd
     * @return Returns the Internal String
     */
    @JsonGetter("CardExpiryDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCardExpiryDate() {
        return this.cardExpiryDate;
    }

    /**
     * Getter for CardExpiryDate.
     * Expiry date of the card. Mandatory if Either PAN or PANID is passed, else optional. Format:
     * yyyyMMdd
     * @return Returns the String
     */
    public String getCardExpiryDate() {
        return OptionalNullable.getFrom(cardExpiryDate);
    }

    /**
     * Setter for CardExpiryDate.
     * Expiry date of the card. Mandatory if Either PAN or PANID is passed, else optional. Format:
     * yyyyMMdd
     * @param cardExpiryDate Value for String
     */
    @JsonSetter("CardExpiryDate")
    public void setCardExpiryDate(String cardExpiryDate) {
        this.cardExpiryDate = OptionalNullable.of(cardExpiryDate);
    }

    /**
     * UnSetter for CardExpiryDate.
     * Expiry date of the card. Mandatory if Either PAN or PANID is passed, else optional. Format:
     * yyyyMMdd
     */
    public void unsetCardExpiryDate() {
        cardExpiryDate = null;
    }

    /**
     * Getter for PINAdviceType.
     * PIN delivery method. Mandatory Allowed Values: 1. Paper 2. Email 3. SMS
     * @return Returns the int
     */
    @JsonGetter("PINAdviceType")
    public int getPINAdviceType() {
        return pINAdviceType;
    }

    /**
     * Setter for PINAdviceType.
     * PIN delivery method. Mandatory Allowed Values: 1. Paper 2. Email 3. SMS
     * @param pINAdviceType Value for int
     */
    @JsonSetter("PINAdviceType")
    public void setPINAdviceType(int pINAdviceType) {
        this.pINAdviceType = pINAdviceType;
    }

    /**
     * Getter for PINContactType.
     * PIN Contact Type. Mandatory Allowed Values: 1. Use PIN Delivery contact details stored
     * previously for this card 2. Use Card Delivery contact details stored previously for this card
     * 3. Use default PIN Delivery contact details stored for this customer 4. Use new specific
     * contact for PIN Reminder only Note: - PINContactType “3” is only allowed for Paper delivery
     * @return Returns the Integer
     */
    @JsonGetter("PINContactType")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getPINContactType() {
        return pINContactType;
    }

    /**
     * Setter for PINContactType.
     * PIN Contact Type. Mandatory Allowed Values: 1. Use PIN Delivery contact details stored
     * previously for this card 2. Use Card Delivery contact details stored previously for this card
     * 3. Use default PIN Delivery contact details stored for this customer 4. Use new specific
     * contact for PIN Reminder only Note: - PINContactType “3” is only allowed for Paper delivery
     * @param pINContactType Value for Integer
     */
    @JsonSetter("PINContactType")
    public void setPINContactType(Integer pINContactType) {
        this.pINContactType = pINContactType;
    }

    /**
     * Getter for PINDeliverTo.
     * @return Returns the PINDeliverTo
     */
    @JsonGetter("PINDeliverTo")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public PINDeliverTo getPINDeliverTo() {
        return pINDeliverTo;
    }

    /**
     * Setter for PINDeliverTo.
     * @param pINDeliverTo Value for PINDeliverTo
     */
    @JsonSetter("PINDeliverTo")
    public void setPINDeliverTo(PINDeliverTo pINDeliverTo) {
        this.pINDeliverTo = pINDeliverTo;
    }

    /**
     * Converts this PINReminderCardDetails into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "PINReminderCardDetails [" + "pINAdviceType=" + pINAdviceType + ", cardId=" + cardId
                + ", pANID=" + pANID + ", pAN=" + pAN + ", cardExpiryDate=" + cardExpiryDate
                + ", pINContactType=" + pINContactType + ", pINDeliverTo=" + pINDeliverTo + "]";
    }

    /**
     * Builds a new {@link PINReminderCardDetails.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link PINReminderCardDetails.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder(pINAdviceType)
                .cardId(getCardId())
                .pANID(getPANID())
                .pAN(getPAN())
                .pINContactType(getPINContactType())
                .pINDeliverTo(getPINDeliverTo());
        builder.cardExpiryDate = internalGetCardExpiryDate();
        return builder;
    }

    /**
     * Class to build instances of {@link PINReminderCardDetails}.
     */
    public static class Builder {
        private int pINAdviceType;
        private Integer cardId;
        private Integer pANID;
        private String pAN;
        private OptionalNullable cardExpiryDate;
        private Integer pINContactType;
        private PINDeliverTo pINDeliverTo;

        /**
         * Initialization constructor.
         */
        public Builder() {
        }

        /**
         * Initialization constructor.
         * @param  pINAdviceType  int value for pINAdviceType.
         */
        public Builder(int pINAdviceType) {
            this.pINAdviceType = pINAdviceType;
        }

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

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

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

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

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

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

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

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

        /**
         * Builds a new {@link PINReminderCardDetails} object using the set fields.
         * @return {@link PINReminderCardDetails}
         */
        public PINReminderCardDetails build() {
            return new PINReminderCardDetails(pINAdviceType, cardId, pANID, pAN, cardExpiryDate,
                    pINContactType, pINDeliverTo);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy