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

com.pulumi.azurenative.logic.inputs.X12EnvelopeSettingsArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.logic.inputs;

import com.pulumi.azurenative.logic.enums.UsageIndicator;
import com.pulumi.azurenative.logic.enums.X12DateFormat;
import com.pulumi.azurenative.logic.enums.X12TimeFormat;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The X12 agreement envelope settings.
 * 
 */
public final class X12EnvelopeSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final X12EnvelopeSettingsArgs Empty = new X12EnvelopeSettingsArgs();

    /**
     * The controls standards id.
     * 
     */
    @Import(name="controlStandardsId", required=true)
    private Output controlStandardsId;

    /**
     * @return The controls standards id.
     * 
     */
    public Output controlStandardsId() {
        return this.controlStandardsId;
    }

    /**
     * The control version number.
     * 
     */
    @Import(name="controlVersionNumber", required=true)
    private Output controlVersionNumber;

    /**
     * @return The control version number.
     * 
     */
    public Output controlVersionNumber() {
        return this.controlVersionNumber;
    }

    /**
     * The value indicating whether to enable default group headers.
     * 
     */
    @Import(name="enableDefaultGroupHeaders", required=true)
    private Output enableDefaultGroupHeaders;

    /**
     * @return The value indicating whether to enable default group headers.
     * 
     */
    public Output enableDefaultGroupHeaders() {
        return this.enableDefaultGroupHeaders;
    }

    /**
     * The functional group id.
     * 
     */
    @Import(name="functionalGroupId")
    private @Nullable Output functionalGroupId;

    /**
     * @return The functional group id.
     * 
     */
    public Optional> functionalGroupId() {
        return Optional.ofNullable(this.functionalGroupId);
    }

    /**
     * The group control number lower bound.
     * 
     */
    @Import(name="groupControlNumberLowerBound", required=true)
    private Output groupControlNumberLowerBound;

    /**
     * @return The group control number lower bound.
     * 
     */
    public Output groupControlNumberLowerBound() {
        return this.groupControlNumberLowerBound;
    }

    /**
     * The group control number upper bound.
     * 
     */
    @Import(name="groupControlNumberUpperBound", required=true)
    private Output groupControlNumberUpperBound;

    /**
     * @return The group control number upper bound.
     * 
     */
    public Output groupControlNumberUpperBound() {
        return this.groupControlNumberUpperBound;
    }

    /**
     * The group header agency code.
     * 
     */
    @Import(name="groupHeaderAgencyCode", required=true)
    private Output groupHeaderAgencyCode;

    /**
     * @return The group header agency code.
     * 
     */
    public Output groupHeaderAgencyCode() {
        return this.groupHeaderAgencyCode;
    }

    /**
     * The group header date format.
     * 
     */
    @Import(name="groupHeaderDateFormat", required=true)
    private Output> groupHeaderDateFormat;

    /**
     * @return The group header date format.
     * 
     */
    public Output> groupHeaderDateFormat() {
        return this.groupHeaderDateFormat;
    }

    /**
     * The group header time format.
     * 
     */
    @Import(name="groupHeaderTimeFormat", required=true)
    private Output> groupHeaderTimeFormat;

    /**
     * @return The group header time format.
     * 
     */
    public Output> groupHeaderTimeFormat() {
        return this.groupHeaderTimeFormat;
    }

    /**
     * The group header version.
     * 
     */
    @Import(name="groupHeaderVersion", required=true)
    private Output groupHeaderVersion;

    /**
     * @return The group header version.
     * 
     */
    public Output groupHeaderVersion() {
        return this.groupHeaderVersion;
    }

    /**
     * The interchange  control number lower bound.
     * 
     */
    @Import(name="interchangeControlNumberLowerBound", required=true)
    private Output interchangeControlNumberLowerBound;

    /**
     * @return The interchange  control number lower bound.
     * 
     */
    public Output interchangeControlNumberLowerBound() {
        return this.interchangeControlNumberLowerBound;
    }

    /**
     * The interchange  control number upper bound.
     * 
     */
    @Import(name="interchangeControlNumberUpperBound", required=true)
    private Output interchangeControlNumberUpperBound;

    /**
     * @return The interchange  control number upper bound.
     * 
     */
    public Output interchangeControlNumberUpperBound() {
        return this.interchangeControlNumberUpperBound;
    }

    /**
     * The value indicating whether to overwrite existing transaction set control number.
     * 
     */
    @Import(name="overwriteExistingTransactionSetControlNumber", required=true)
    private Output overwriteExistingTransactionSetControlNumber;

    /**
     * @return The value indicating whether to overwrite existing transaction set control number.
     * 
     */
    public Output overwriteExistingTransactionSetControlNumber() {
        return this.overwriteExistingTransactionSetControlNumber;
    }

    /**
     * The receiver application id.
     * 
     */
    @Import(name="receiverApplicationId", required=true)
    private Output receiverApplicationId;

    /**
     * @return The receiver application id.
     * 
     */
    public Output receiverApplicationId() {
        return this.receiverApplicationId;
    }

    /**
     * The value indicating whether to rollover group control number.
     * 
     */
    @Import(name="rolloverGroupControlNumber", required=true)
    private Output rolloverGroupControlNumber;

    /**
     * @return The value indicating whether to rollover group control number.
     * 
     */
    public Output rolloverGroupControlNumber() {
        return this.rolloverGroupControlNumber;
    }

    /**
     * The value indicating whether to rollover interchange control number.
     * 
     */
    @Import(name="rolloverInterchangeControlNumber", required=true)
    private Output rolloverInterchangeControlNumber;

    /**
     * @return The value indicating whether to rollover interchange control number.
     * 
     */
    public Output rolloverInterchangeControlNumber() {
        return this.rolloverInterchangeControlNumber;
    }

    /**
     * The value indicating whether to rollover transaction set control number.
     * 
     */
    @Import(name="rolloverTransactionSetControlNumber", required=true)
    private Output rolloverTransactionSetControlNumber;

    /**
     * @return The value indicating whether to rollover transaction set control number.
     * 
     */
    public Output rolloverTransactionSetControlNumber() {
        return this.rolloverTransactionSetControlNumber;
    }

    /**
     * The sender application id.
     * 
     */
    @Import(name="senderApplicationId", required=true)
    private Output senderApplicationId;

    /**
     * @return The sender application id.
     * 
     */
    public Output senderApplicationId() {
        return this.senderApplicationId;
    }

    /**
     * The transaction set control number lower bound.
     * 
     */
    @Import(name="transactionSetControlNumberLowerBound", required=true)
    private Output transactionSetControlNumberLowerBound;

    /**
     * @return The transaction set control number lower bound.
     * 
     */
    public Output transactionSetControlNumberLowerBound() {
        return this.transactionSetControlNumberLowerBound;
    }

    /**
     * The transaction set control number prefix.
     * 
     */
    @Import(name="transactionSetControlNumberPrefix")
    private @Nullable Output transactionSetControlNumberPrefix;

    /**
     * @return The transaction set control number prefix.
     * 
     */
    public Optional> transactionSetControlNumberPrefix() {
        return Optional.ofNullable(this.transactionSetControlNumberPrefix);
    }

    /**
     * The transaction set control number suffix.
     * 
     */
    @Import(name="transactionSetControlNumberSuffix")
    private @Nullable Output transactionSetControlNumberSuffix;

    /**
     * @return The transaction set control number suffix.
     * 
     */
    public Optional> transactionSetControlNumberSuffix() {
        return Optional.ofNullable(this.transactionSetControlNumberSuffix);
    }

    /**
     * The transaction set control number upper bound.
     * 
     */
    @Import(name="transactionSetControlNumberUpperBound", required=true)
    private Output transactionSetControlNumberUpperBound;

    /**
     * @return The transaction set control number upper bound.
     * 
     */
    public Output transactionSetControlNumberUpperBound() {
        return this.transactionSetControlNumberUpperBound;
    }

    /**
     * The usage indicator.
     * 
     */
    @Import(name="usageIndicator", required=true)
    private Output> usageIndicator;

    /**
     * @return The usage indicator.
     * 
     */
    public Output> usageIndicator() {
        return this.usageIndicator;
    }

    /**
     * The value indicating whether to use control standards id as repetition character.
     * 
     */
    @Import(name="useControlStandardsIdAsRepetitionCharacter", required=true)
    private Output useControlStandardsIdAsRepetitionCharacter;

    /**
     * @return The value indicating whether to use control standards id as repetition character.
     * 
     */
    public Output useControlStandardsIdAsRepetitionCharacter() {
        return this.useControlStandardsIdAsRepetitionCharacter;
    }

    private X12EnvelopeSettingsArgs() {}

    private X12EnvelopeSettingsArgs(X12EnvelopeSettingsArgs $) {
        this.controlStandardsId = $.controlStandardsId;
        this.controlVersionNumber = $.controlVersionNumber;
        this.enableDefaultGroupHeaders = $.enableDefaultGroupHeaders;
        this.functionalGroupId = $.functionalGroupId;
        this.groupControlNumberLowerBound = $.groupControlNumberLowerBound;
        this.groupControlNumberUpperBound = $.groupControlNumberUpperBound;
        this.groupHeaderAgencyCode = $.groupHeaderAgencyCode;
        this.groupHeaderDateFormat = $.groupHeaderDateFormat;
        this.groupHeaderTimeFormat = $.groupHeaderTimeFormat;
        this.groupHeaderVersion = $.groupHeaderVersion;
        this.interchangeControlNumberLowerBound = $.interchangeControlNumberLowerBound;
        this.interchangeControlNumberUpperBound = $.interchangeControlNumberUpperBound;
        this.overwriteExistingTransactionSetControlNumber = $.overwriteExistingTransactionSetControlNumber;
        this.receiverApplicationId = $.receiverApplicationId;
        this.rolloverGroupControlNumber = $.rolloverGroupControlNumber;
        this.rolloverInterchangeControlNumber = $.rolloverInterchangeControlNumber;
        this.rolloverTransactionSetControlNumber = $.rolloverTransactionSetControlNumber;
        this.senderApplicationId = $.senderApplicationId;
        this.transactionSetControlNumberLowerBound = $.transactionSetControlNumberLowerBound;
        this.transactionSetControlNumberPrefix = $.transactionSetControlNumberPrefix;
        this.transactionSetControlNumberSuffix = $.transactionSetControlNumberSuffix;
        this.transactionSetControlNumberUpperBound = $.transactionSetControlNumberUpperBound;
        this.usageIndicator = $.usageIndicator;
        this.useControlStandardsIdAsRepetitionCharacter = $.useControlStandardsIdAsRepetitionCharacter;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(X12EnvelopeSettingsArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private X12EnvelopeSettingsArgs $;

        public Builder() {
            $ = new X12EnvelopeSettingsArgs();
        }

        public Builder(X12EnvelopeSettingsArgs defaults) {
            $ = new X12EnvelopeSettingsArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param controlStandardsId The controls standards id.
         * 
         * @return builder
         * 
         */
        public Builder controlStandardsId(Output controlStandardsId) {
            $.controlStandardsId = controlStandardsId;
            return this;
        }

        /**
         * @param controlStandardsId The controls standards id.
         * 
         * @return builder
         * 
         */
        public Builder controlStandardsId(Integer controlStandardsId) {
            return controlStandardsId(Output.of(controlStandardsId));
        }

        /**
         * @param controlVersionNumber The control version number.
         * 
         * @return builder
         * 
         */
        public Builder controlVersionNumber(Output controlVersionNumber) {
            $.controlVersionNumber = controlVersionNumber;
            return this;
        }

        /**
         * @param controlVersionNumber The control version number.
         * 
         * @return builder
         * 
         */
        public Builder controlVersionNumber(String controlVersionNumber) {
            return controlVersionNumber(Output.of(controlVersionNumber));
        }

        /**
         * @param enableDefaultGroupHeaders The value indicating whether to enable default group headers.
         * 
         * @return builder
         * 
         */
        public Builder enableDefaultGroupHeaders(Output enableDefaultGroupHeaders) {
            $.enableDefaultGroupHeaders = enableDefaultGroupHeaders;
            return this;
        }

        /**
         * @param enableDefaultGroupHeaders The value indicating whether to enable default group headers.
         * 
         * @return builder
         * 
         */
        public Builder enableDefaultGroupHeaders(Boolean enableDefaultGroupHeaders) {
            return enableDefaultGroupHeaders(Output.of(enableDefaultGroupHeaders));
        }

        /**
         * @param functionalGroupId The functional group id.
         * 
         * @return builder
         * 
         */
        public Builder functionalGroupId(@Nullable Output functionalGroupId) {
            $.functionalGroupId = functionalGroupId;
            return this;
        }

        /**
         * @param functionalGroupId The functional group id.
         * 
         * @return builder
         * 
         */
        public Builder functionalGroupId(String functionalGroupId) {
            return functionalGroupId(Output.of(functionalGroupId));
        }

        /**
         * @param groupControlNumberLowerBound The group control number lower bound.
         * 
         * @return builder
         * 
         */
        public Builder groupControlNumberLowerBound(Output groupControlNumberLowerBound) {
            $.groupControlNumberLowerBound = groupControlNumberLowerBound;
            return this;
        }

        /**
         * @param groupControlNumberLowerBound The group control number lower bound.
         * 
         * @return builder
         * 
         */
        public Builder groupControlNumberLowerBound(Integer groupControlNumberLowerBound) {
            return groupControlNumberLowerBound(Output.of(groupControlNumberLowerBound));
        }

        /**
         * @param groupControlNumberUpperBound The group control number upper bound.
         * 
         * @return builder
         * 
         */
        public Builder groupControlNumberUpperBound(Output groupControlNumberUpperBound) {
            $.groupControlNumberUpperBound = groupControlNumberUpperBound;
            return this;
        }

        /**
         * @param groupControlNumberUpperBound The group control number upper bound.
         * 
         * @return builder
         * 
         */
        public Builder groupControlNumberUpperBound(Integer groupControlNumberUpperBound) {
            return groupControlNumberUpperBound(Output.of(groupControlNumberUpperBound));
        }

        /**
         * @param groupHeaderAgencyCode The group header agency code.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderAgencyCode(Output groupHeaderAgencyCode) {
            $.groupHeaderAgencyCode = groupHeaderAgencyCode;
            return this;
        }

        /**
         * @param groupHeaderAgencyCode The group header agency code.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderAgencyCode(String groupHeaderAgencyCode) {
            return groupHeaderAgencyCode(Output.of(groupHeaderAgencyCode));
        }

        /**
         * @param groupHeaderDateFormat The group header date format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderDateFormat(Output> groupHeaderDateFormat) {
            $.groupHeaderDateFormat = groupHeaderDateFormat;
            return this;
        }

        /**
         * @param groupHeaderDateFormat The group header date format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderDateFormat(Either groupHeaderDateFormat) {
            return groupHeaderDateFormat(Output.of(groupHeaderDateFormat));
        }

        /**
         * @param groupHeaderDateFormat The group header date format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderDateFormat(String groupHeaderDateFormat) {
            return groupHeaderDateFormat(Either.ofLeft(groupHeaderDateFormat));
        }

        /**
         * @param groupHeaderDateFormat The group header date format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderDateFormat(X12DateFormat groupHeaderDateFormat) {
            return groupHeaderDateFormat(Either.ofRight(groupHeaderDateFormat));
        }

        /**
         * @param groupHeaderTimeFormat The group header time format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderTimeFormat(Output> groupHeaderTimeFormat) {
            $.groupHeaderTimeFormat = groupHeaderTimeFormat;
            return this;
        }

        /**
         * @param groupHeaderTimeFormat The group header time format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderTimeFormat(Either groupHeaderTimeFormat) {
            return groupHeaderTimeFormat(Output.of(groupHeaderTimeFormat));
        }

        /**
         * @param groupHeaderTimeFormat The group header time format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderTimeFormat(String groupHeaderTimeFormat) {
            return groupHeaderTimeFormat(Either.ofLeft(groupHeaderTimeFormat));
        }

        /**
         * @param groupHeaderTimeFormat The group header time format.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderTimeFormat(X12TimeFormat groupHeaderTimeFormat) {
            return groupHeaderTimeFormat(Either.ofRight(groupHeaderTimeFormat));
        }

        /**
         * @param groupHeaderVersion The group header version.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderVersion(Output groupHeaderVersion) {
            $.groupHeaderVersion = groupHeaderVersion;
            return this;
        }

        /**
         * @param groupHeaderVersion The group header version.
         * 
         * @return builder
         * 
         */
        public Builder groupHeaderVersion(String groupHeaderVersion) {
            return groupHeaderVersion(Output.of(groupHeaderVersion));
        }

        /**
         * @param interchangeControlNumberLowerBound The interchange  control number lower bound.
         * 
         * @return builder
         * 
         */
        public Builder interchangeControlNumberLowerBound(Output interchangeControlNumberLowerBound) {
            $.interchangeControlNumberLowerBound = interchangeControlNumberLowerBound;
            return this;
        }

        /**
         * @param interchangeControlNumberLowerBound The interchange  control number lower bound.
         * 
         * @return builder
         * 
         */
        public Builder interchangeControlNumberLowerBound(Integer interchangeControlNumberLowerBound) {
            return interchangeControlNumberLowerBound(Output.of(interchangeControlNumberLowerBound));
        }

        /**
         * @param interchangeControlNumberUpperBound The interchange  control number upper bound.
         * 
         * @return builder
         * 
         */
        public Builder interchangeControlNumberUpperBound(Output interchangeControlNumberUpperBound) {
            $.interchangeControlNumberUpperBound = interchangeControlNumberUpperBound;
            return this;
        }

        /**
         * @param interchangeControlNumberUpperBound The interchange  control number upper bound.
         * 
         * @return builder
         * 
         */
        public Builder interchangeControlNumberUpperBound(Integer interchangeControlNumberUpperBound) {
            return interchangeControlNumberUpperBound(Output.of(interchangeControlNumberUpperBound));
        }

        /**
         * @param overwriteExistingTransactionSetControlNumber The value indicating whether to overwrite existing transaction set control number.
         * 
         * @return builder
         * 
         */
        public Builder overwriteExistingTransactionSetControlNumber(Output overwriteExistingTransactionSetControlNumber) {
            $.overwriteExistingTransactionSetControlNumber = overwriteExistingTransactionSetControlNumber;
            return this;
        }

        /**
         * @param overwriteExistingTransactionSetControlNumber The value indicating whether to overwrite existing transaction set control number.
         * 
         * @return builder
         * 
         */
        public Builder overwriteExistingTransactionSetControlNumber(Boolean overwriteExistingTransactionSetControlNumber) {
            return overwriteExistingTransactionSetControlNumber(Output.of(overwriteExistingTransactionSetControlNumber));
        }

        /**
         * @param receiverApplicationId The receiver application id.
         * 
         * @return builder
         * 
         */
        public Builder receiverApplicationId(Output receiverApplicationId) {
            $.receiverApplicationId = receiverApplicationId;
            return this;
        }

        /**
         * @param receiverApplicationId The receiver application id.
         * 
         * @return builder
         * 
         */
        public Builder receiverApplicationId(String receiverApplicationId) {
            return receiverApplicationId(Output.of(receiverApplicationId));
        }

        /**
         * @param rolloverGroupControlNumber The value indicating whether to rollover group control number.
         * 
         * @return builder
         * 
         */
        public Builder rolloverGroupControlNumber(Output rolloverGroupControlNumber) {
            $.rolloverGroupControlNumber = rolloverGroupControlNumber;
            return this;
        }

        /**
         * @param rolloverGroupControlNumber The value indicating whether to rollover group control number.
         * 
         * @return builder
         * 
         */
        public Builder rolloverGroupControlNumber(Boolean rolloverGroupControlNumber) {
            return rolloverGroupControlNumber(Output.of(rolloverGroupControlNumber));
        }

        /**
         * @param rolloverInterchangeControlNumber The value indicating whether to rollover interchange control number.
         * 
         * @return builder
         * 
         */
        public Builder rolloverInterchangeControlNumber(Output rolloverInterchangeControlNumber) {
            $.rolloverInterchangeControlNumber = rolloverInterchangeControlNumber;
            return this;
        }

        /**
         * @param rolloverInterchangeControlNumber The value indicating whether to rollover interchange control number.
         * 
         * @return builder
         * 
         */
        public Builder rolloverInterchangeControlNumber(Boolean rolloverInterchangeControlNumber) {
            return rolloverInterchangeControlNumber(Output.of(rolloverInterchangeControlNumber));
        }

        /**
         * @param rolloverTransactionSetControlNumber The value indicating whether to rollover transaction set control number.
         * 
         * @return builder
         * 
         */
        public Builder rolloverTransactionSetControlNumber(Output rolloverTransactionSetControlNumber) {
            $.rolloverTransactionSetControlNumber = rolloverTransactionSetControlNumber;
            return this;
        }

        /**
         * @param rolloverTransactionSetControlNumber The value indicating whether to rollover transaction set control number.
         * 
         * @return builder
         * 
         */
        public Builder rolloverTransactionSetControlNumber(Boolean rolloverTransactionSetControlNumber) {
            return rolloverTransactionSetControlNumber(Output.of(rolloverTransactionSetControlNumber));
        }

        /**
         * @param senderApplicationId The sender application id.
         * 
         * @return builder
         * 
         */
        public Builder senderApplicationId(Output senderApplicationId) {
            $.senderApplicationId = senderApplicationId;
            return this;
        }

        /**
         * @param senderApplicationId The sender application id.
         * 
         * @return builder
         * 
         */
        public Builder senderApplicationId(String senderApplicationId) {
            return senderApplicationId(Output.of(senderApplicationId));
        }

        /**
         * @param transactionSetControlNumberLowerBound The transaction set control number lower bound.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberLowerBound(Output transactionSetControlNumberLowerBound) {
            $.transactionSetControlNumberLowerBound = transactionSetControlNumberLowerBound;
            return this;
        }

        /**
         * @param transactionSetControlNumberLowerBound The transaction set control number lower bound.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberLowerBound(Integer transactionSetControlNumberLowerBound) {
            return transactionSetControlNumberLowerBound(Output.of(transactionSetControlNumberLowerBound));
        }

        /**
         * @param transactionSetControlNumberPrefix The transaction set control number prefix.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberPrefix(@Nullable Output transactionSetControlNumberPrefix) {
            $.transactionSetControlNumberPrefix = transactionSetControlNumberPrefix;
            return this;
        }

        /**
         * @param transactionSetControlNumberPrefix The transaction set control number prefix.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberPrefix(String transactionSetControlNumberPrefix) {
            return transactionSetControlNumberPrefix(Output.of(transactionSetControlNumberPrefix));
        }

        /**
         * @param transactionSetControlNumberSuffix The transaction set control number suffix.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberSuffix(@Nullable Output transactionSetControlNumberSuffix) {
            $.transactionSetControlNumberSuffix = transactionSetControlNumberSuffix;
            return this;
        }

        /**
         * @param transactionSetControlNumberSuffix The transaction set control number suffix.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberSuffix(String transactionSetControlNumberSuffix) {
            return transactionSetControlNumberSuffix(Output.of(transactionSetControlNumberSuffix));
        }

        /**
         * @param transactionSetControlNumberUpperBound The transaction set control number upper bound.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberUpperBound(Output transactionSetControlNumberUpperBound) {
            $.transactionSetControlNumberUpperBound = transactionSetControlNumberUpperBound;
            return this;
        }

        /**
         * @param transactionSetControlNumberUpperBound The transaction set control number upper bound.
         * 
         * @return builder
         * 
         */
        public Builder transactionSetControlNumberUpperBound(Integer transactionSetControlNumberUpperBound) {
            return transactionSetControlNumberUpperBound(Output.of(transactionSetControlNumberUpperBound));
        }

        /**
         * @param usageIndicator The usage indicator.
         * 
         * @return builder
         * 
         */
        public Builder usageIndicator(Output> usageIndicator) {
            $.usageIndicator = usageIndicator;
            return this;
        }

        /**
         * @param usageIndicator The usage indicator.
         * 
         * @return builder
         * 
         */
        public Builder usageIndicator(Either usageIndicator) {
            return usageIndicator(Output.of(usageIndicator));
        }

        /**
         * @param usageIndicator The usage indicator.
         * 
         * @return builder
         * 
         */
        public Builder usageIndicator(String usageIndicator) {
            return usageIndicator(Either.ofLeft(usageIndicator));
        }

        /**
         * @param usageIndicator The usage indicator.
         * 
         * @return builder
         * 
         */
        public Builder usageIndicator(UsageIndicator usageIndicator) {
            return usageIndicator(Either.ofRight(usageIndicator));
        }

        /**
         * @param useControlStandardsIdAsRepetitionCharacter The value indicating whether to use control standards id as repetition character.
         * 
         * @return builder
         * 
         */
        public Builder useControlStandardsIdAsRepetitionCharacter(Output useControlStandardsIdAsRepetitionCharacter) {
            $.useControlStandardsIdAsRepetitionCharacter = useControlStandardsIdAsRepetitionCharacter;
            return this;
        }

        /**
         * @param useControlStandardsIdAsRepetitionCharacter The value indicating whether to use control standards id as repetition character.
         * 
         * @return builder
         * 
         */
        public Builder useControlStandardsIdAsRepetitionCharacter(Boolean useControlStandardsIdAsRepetitionCharacter) {
            return useControlStandardsIdAsRepetitionCharacter(Output.of(useControlStandardsIdAsRepetitionCharacter));
        }

        public X12EnvelopeSettingsArgs build() {
            if ($.controlStandardsId == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "controlStandardsId");
            }
            if ($.controlVersionNumber == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "controlVersionNumber");
            }
            if ($.enableDefaultGroupHeaders == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "enableDefaultGroupHeaders");
            }
            if ($.groupControlNumberLowerBound == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "groupControlNumberLowerBound");
            }
            if ($.groupControlNumberUpperBound == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "groupControlNumberUpperBound");
            }
            if ($.groupHeaderAgencyCode == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "groupHeaderAgencyCode");
            }
            if ($.groupHeaderDateFormat == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "groupHeaderDateFormat");
            }
            if ($.groupHeaderTimeFormat == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "groupHeaderTimeFormat");
            }
            if ($.groupHeaderVersion == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "groupHeaderVersion");
            }
            if ($.interchangeControlNumberLowerBound == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "interchangeControlNumberLowerBound");
            }
            if ($.interchangeControlNumberUpperBound == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "interchangeControlNumberUpperBound");
            }
            if ($.overwriteExistingTransactionSetControlNumber == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "overwriteExistingTransactionSetControlNumber");
            }
            if ($.receiverApplicationId == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "receiverApplicationId");
            }
            if ($.rolloverGroupControlNumber == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "rolloverGroupControlNumber");
            }
            if ($.rolloverInterchangeControlNumber == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "rolloverInterchangeControlNumber");
            }
            if ($.rolloverTransactionSetControlNumber == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "rolloverTransactionSetControlNumber");
            }
            if ($.senderApplicationId == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "senderApplicationId");
            }
            if ($.transactionSetControlNumberLowerBound == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "transactionSetControlNumberLowerBound");
            }
            if ($.transactionSetControlNumberUpperBound == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "transactionSetControlNumberUpperBound");
            }
            if ($.usageIndicator == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "usageIndicator");
            }
            if ($.useControlStandardsIdAsRepetitionCharacter == null) {
                throw new MissingRequiredPropertyException("X12EnvelopeSettingsArgs", "useControlStandardsIdAsRepetitionCharacter");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy