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 extends software.aws.awsprototypingsdk.nxmonorepo.SemverGroup> 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 extends software.aws.awsprototypingsdk.nxmonorepo.VersionGroup> 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;
}
}
}