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

software.aws.awsprototypingsdk.nxmonorepo.SyncpackConfig Maven / Gradle / Ivy

The newest version!
package software.aws.awsprototypingsdk.nxmonorepo;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-02-28T00:38:33.049Z")
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.$Module.class, fqn = "aws-prototyping-sdk.nx_monorepo.SyncpackConfig")
@software.amazon.jsii.Jsii.Proxy(SyncpackConfig.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface SyncpackConfig extends software.amazon.jsii.JsiiSerializable {

    /**
     * which dependency properties to search within.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.util.List getDependencyTypes();

    /**
     * whether to search within devDependencies.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getDev();

    /**
     * a string which will be passed to `new RegExp()` to match against package names that should be included.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getFilter();

    /**
     * the character(s) to be used to indent your package.json files when writing to disk.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getIndent();

    /**
     * whether to search within npm overrides.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getOverrides();

    /**
     * whether to search within peerDependencies.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getPeer();

    /**
     * whether to search within pnpm overrides.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getPnpmOverrides();

    /**
     * whether to search within dependencies.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getProd();

    /**
     * whether to search within yarn resolutions.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getResolutions();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.util.List getSemverGroups();

    /**
     * defaults to `""` to ensure that exact dependency versions are used instead of loose ranges.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.String getSemverRange();

    /**
     * which fields within package.json files should be sorted alphabetically.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.util.List getSortAz();

    /**
     * which fields within package.json files should appear at the top, and in what order.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.util.List getSortFirst();

    /**
     * glob patterns for package.json file locations.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.util.List getSource();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.util.List getVersionGroups();

    /**
     * whether to include the versions of the `--source` packages developed in your workspace/monorepo as part of the search for versions to sync.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @org.jetbrains.annotations.NotNull java.lang.Boolean getWorkspace();

    /**
     * @return a {@link Builder} of {@link SyncpackConfig}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    static Builder builder() {
        return new Builder();
    }
    /**
     * A builder for {@link SyncpackConfig}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public static final class Builder implements software.amazon.jsii.Builder {
        java.util.List dependencyTypes;
        java.lang.Boolean dev;
        java.lang.String filter;
        java.lang.String indent;
        java.lang.Boolean overrides;
        java.lang.Boolean peer;
        java.lang.Boolean pnpmOverrides;
        java.lang.Boolean prod;
        java.lang.Boolean resolutions;
        java.util.List semverGroups;
        java.lang.String semverRange;
        java.util.List sortAz;
        java.util.List sortFirst;
        java.util.List source;
        java.util.List versionGroups;
        java.lang.Boolean workspace;

        /**
         * Sets the value of {@link SyncpackConfig#getDependencyTypes}
         * @param dependencyTypes which dependency properties to search within. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder dependencyTypes(java.util.List dependencyTypes) {
            this.dependencyTypes = dependencyTypes;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getDev}
         * @param dev whether to search within devDependencies. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder dev(java.lang.Boolean dev) {
            this.dev = dev;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getFilter}
         * @param filter a string which will be passed to `new RegExp()` to match against package names that should be included. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder filter(java.lang.String filter) {
            this.filter = filter;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getIndent}
         * @param indent the character(s) to be used to indent your package.json files when writing to disk. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder indent(java.lang.String indent) {
            this.indent = indent;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getOverrides}
         * @param overrides whether to search within npm overrides. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder overrides(java.lang.Boolean overrides) {
            this.overrides = overrides;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getPeer}
         * @param peer whether to search within peerDependencies. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder peer(java.lang.Boolean peer) {
            this.peer = peer;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getPnpmOverrides}
         * @param pnpmOverrides whether to search within pnpm overrides. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder pnpmOverrides(java.lang.Boolean pnpmOverrides) {
            this.pnpmOverrides = pnpmOverrides;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getProd}
         * @param prod whether to search within dependencies. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder prod(java.lang.Boolean prod) {
            this.prod = prod;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getResolutions}
         * @param resolutions whether to search within yarn resolutions. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder resolutions(java.lang.Boolean resolutions) {
            this.resolutions = resolutions;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getSemverGroups}
         * @param semverGroups the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @SuppressWarnings("unchecked")
        public Builder semverGroups(java.util.List semverGroups) {
            this.semverGroups = (java.util.List)semverGroups;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getSemverRange}
         * @param semverRange defaults to `""` to ensure that exact dependency versions are used instead of loose ranges. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder semverRange(java.lang.String semverRange) {
            this.semverRange = semverRange;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getSortAz}
         * @param sortAz which fields within package.json files should be sorted alphabetically. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder sortAz(java.util.List sortAz) {
            this.sortAz = sortAz;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getSortFirst}
         * @param sortFirst which fields within package.json files should appear at the top, and in what order. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder sortFirst(java.util.List sortFirst) {
            this.sortFirst = sortFirst;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getSource}
         * @param source glob patterns for package.json file locations. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder source(java.util.List source) {
            this.source = source;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getVersionGroups}
         * @param versionGroups the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @SuppressWarnings("unchecked")
        public Builder versionGroups(java.util.List versionGroups) {
            this.versionGroups = (java.util.List)versionGroups;
            return this;
        }

        /**
         * Sets the value of {@link SyncpackConfig#getWorkspace}
         * @param workspace whether to include the versions of the `--source` packages developed in your workspace/monorepo as part of the search for versions to sync. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder workspace(java.lang.Boolean workspace) {
            this.workspace = workspace;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link SyncpackConfig}
         * @throws NullPointerException if any required attribute was not provided
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        public SyncpackConfig build() {
            return new Jsii$Proxy(this);
        }
    }

    /**
     * An implementation for {@link SyncpackConfig}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @software.amazon.jsii.Internal
    final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SyncpackConfig {
        private final java.util.List dependencyTypes;
        private final java.lang.Boolean dev;
        private final java.lang.String filter;
        private final java.lang.String indent;
        private final java.lang.Boolean overrides;
        private final java.lang.Boolean peer;
        private final java.lang.Boolean pnpmOverrides;
        private final java.lang.Boolean prod;
        private final java.lang.Boolean resolutions;
        private final java.util.List semverGroups;
        private final java.lang.String semverRange;
        private final java.util.List sortAz;
        private final java.util.List sortFirst;
        private final java.util.List source;
        private final java.util.List versionGroups;
        private final java.lang.Boolean workspace;

        /**
         * Constructor that initializes the object based on values retrieved from the JsiiObject.
         * @param objRef Reference to the JSII managed object.
         */
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
            super(objRef);
            this.dependencyTypes = software.amazon.jsii.Kernel.get(this, "dependencyTypes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.dev = software.amazon.jsii.Kernel.get(this, "dev", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.filter = software.amazon.jsii.Kernel.get(this, "filter", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.indent = software.amazon.jsii.Kernel.get(this, "indent", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.overrides = software.amazon.jsii.Kernel.get(this, "overrides", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.peer = software.amazon.jsii.Kernel.get(this, "peer", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.pnpmOverrides = software.amazon.jsii.Kernel.get(this, "pnpmOverrides", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.prod = software.amazon.jsii.Kernel.get(this, "prod", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.resolutions = software.amazon.jsii.Kernel.get(this, "resolutions", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
            this.semverGroups = software.amazon.jsii.Kernel.get(this, "semverGroups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.nxmonorepo.SemverGroup.class)));
            this.semverRange = software.amazon.jsii.Kernel.get(this, "semverRange", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.sortAz = software.amazon.jsii.Kernel.get(this, "sortAz", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.sortFirst = software.amazon.jsii.Kernel.get(this, "sortFirst", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.source = software.amazon.jsii.Kernel.get(this, "source", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.versionGroups = software.amazon.jsii.Kernel.get(this, "versionGroups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.nxmonorepo.VersionGroup.class)));
            this.workspace = software.amazon.jsii.Kernel.get(this, "workspace", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
        }

        /**
         * Constructor that initializes the object based on literal property values passed by the {@link Builder}.
         */
        @SuppressWarnings("unchecked")
        protected Jsii$Proxy(final Builder builder) {
            super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
            this.dependencyTypes = java.util.Objects.requireNonNull(builder.dependencyTypes, "dependencyTypes is required");
            this.dev = java.util.Objects.requireNonNull(builder.dev, "dev is required");
            this.filter = java.util.Objects.requireNonNull(builder.filter, "filter is required");
            this.indent = java.util.Objects.requireNonNull(builder.indent, "indent is required");
            this.overrides = java.util.Objects.requireNonNull(builder.overrides, "overrides is required");
            this.peer = java.util.Objects.requireNonNull(builder.peer, "peer is required");
            this.pnpmOverrides = java.util.Objects.requireNonNull(builder.pnpmOverrides, "pnpmOverrides is required");
            this.prod = java.util.Objects.requireNonNull(builder.prod, "prod is required");
            this.resolutions = java.util.Objects.requireNonNull(builder.resolutions, "resolutions is required");
            this.semverGroups = (java.util.List)java.util.Objects.requireNonNull(builder.semverGroups, "semverGroups is required");
            this.semverRange = java.util.Objects.requireNonNull(builder.semverRange, "semverRange is required");
            this.sortAz = java.util.Objects.requireNonNull(builder.sortAz, "sortAz is required");
            this.sortFirst = java.util.Objects.requireNonNull(builder.sortFirst, "sortFirst is required");
            this.source = java.util.Objects.requireNonNull(builder.source, "source is required");
            this.versionGroups = (java.util.List)java.util.Objects.requireNonNull(builder.versionGroups, "versionGroups is required");
            this.workspace = java.util.Objects.requireNonNull(builder.workspace, "workspace is required");
        }

        @Override
        public final java.util.List getDependencyTypes() {
            return this.dependencyTypes;
        }

        @Override
        public final java.lang.Boolean getDev() {
            return this.dev;
        }

        @Override
        public final java.lang.String getFilter() {
            return this.filter;
        }

        @Override
        public final java.lang.String getIndent() {
            return this.indent;
        }

        @Override
        public final java.lang.Boolean getOverrides() {
            return this.overrides;
        }

        @Override
        public final java.lang.Boolean getPeer() {
            return this.peer;
        }

        @Override
        public final java.lang.Boolean getPnpmOverrides() {
            return this.pnpmOverrides;
        }

        @Override
        public final java.lang.Boolean getProd() {
            return this.prod;
        }

        @Override
        public final java.lang.Boolean getResolutions() {
            return this.resolutions;
        }

        @Override
        public final java.util.List getSemverGroups() {
            return this.semverGroups;
        }

        @Override
        public final java.lang.String getSemverRange() {
            return this.semverRange;
        }

        @Override
        public final java.util.List getSortAz() {
            return this.sortAz;
        }

        @Override
        public final java.util.List getSortFirst() {
            return this.sortFirst;
        }

        @Override
        public final java.util.List getSource() {
            return this.source;
        }

        @Override
        public final java.util.List getVersionGroups() {
            return this.versionGroups;
        }

        @Override
        public final java.lang.Boolean getWorkspace() {
            return this.workspace;
        }

        @Override
        @software.amazon.jsii.Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
            final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
            final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();

            data.set("dependencyTypes", om.valueToTree(this.getDependencyTypes()));
            data.set("dev", om.valueToTree(this.getDev()));
            data.set("filter", om.valueToTree(this.getFilter()));
            data.set("indent", om.valueToTree(this.getIndent()));
            data.set("overrides", om.valueToTree(this.getOverrides()));
            data.set("peer", om.valueToTree(this.getPeer()));
            data.set("pnpmOverrides", om.valueToTree(this.getPnpmOverrides()));
            data.set("prod", om.valueToTree(this.getProd()));
            data.set("resolutions", om.valueToTree(this.getResolutions()));
            data.set("semverGroups", om.valueToTree(this.getSemverGroups()));
            data.set("semverRange", om.valueToTree(this.getSemverRange()));
            data.set("sortAz", om.valueToTree(this.getSortAz()));
            data.set("sortFirst", om.valueToTree(this.getSortFirst()));
            data.set("source", om.valueToTree(this.getSource()));
            data.set("versionGroups", om.valueToTree(this.getVersionGroups()));
            data.set("workspace", om.valueToTree(this.getWorkspace()));

            final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            struct.set("fqn", om.valueToTree("aws-prototyping-sdk.nx_monorepo.SyncpackConfig"));
            struct.set("data", data);

            final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            obj.set("$jsii.struct", struct);

            return obj;
        }

        @Override
        public final boolean equals(final Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            SyncpackConfig.Jsii$Proxy that = (SyncpackConfig.Jsii$Proxy) o;

            if (!dependencyTypes.equals(that.dependencyTypes)) return false;
            if (!dev.equals(that.dev)) return false;
            if (!filter.equals(that.filter)) return false;
            if (!indent.equals(that.indent)) return false;
            if (!overrides.equals(that.overrides)) return false;
            if (!peer.equals(that.peer)) return false;
            if (!pnpmOverrides.equals(that.pnpmOverrides)) return false;
            if (!prod.equals(that.prod)) return false;
            if (!resolutions.equals(that.resolutions)) return false;
            if (!semverGroups.equals(that.semverGroups)) return false;
            if (!semverRange.equals(that.semverRange)) return false;
            if (!sortAz.equals(that.sortAz)) return false;
            if (!sortFirst.equals(that.sortFirst)) return false;
            if (!source.equals(that.source)) return false;
            if (!versionGroups.equals(that.versionGroups)) return false;
            return this.workspace.equals(that.workspace);
        }

        @Override
        public final int hashCode() {
            int result = this.dependencyTypes.hashCode();
            result = 31 * result + (this.dev.hashCode());
            result = 31 * result + (this.filter.hashCode());
            result = 31 * result + (this.indent.hashCode());
            result = 31 * result + (this.overrides.hashCode());
            result = 31 * result + (this.peer.hashCode());
            result = 31 * result + (this.pnpmOverrides.hashCode());
            result = 31 * result + (this.prod.hashCode());
            result = 31 * result + (this.resolutions.hashCode());
            result = 31 * result + (this.semverGroups.hashCode());
            result = 31 * result + (this.semverRange.hashCode());
            result = 31 * result + (this.sortAz.hashCode());
            result = 31 * result + (this.sortFirst.hashCode());
            result = 31 * result + (this.source.hashCode());
            result = 31 * result + (this.versionGroups.hashCode());
            result = 31 * result + (this.workspace.hashCode());
            return result;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy