io.github.cdklabs.cdknag.RegexAppliesTo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cdknag Show documentation
Show all versions of cdknag Show documentation
Check CDK v2 applications for best practices using a combination on available rule packs.
package io.github.cdklabs.cdknag;
/**
* A regular expression to apply to matching findings.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.104.0 (build e79254c)", date = "2024-11-07T15:34:11.003Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdknag.$Module.class, fqn = "cdk-nag.RegexAppliesTo")
@software.amazon.jsii.Jsii.Proxy(RegexAppliesTo.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface RegexAppliesTo extends software.amazon.jsii.JsiiSerializable {
/**
* An ECMA-262 regex string.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getRegex();
/**
* @return a {@link Builder} of {@link RegexAppliesTo}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link RegexAppliesTo}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String regex;
/**
* Sets the value of {@link RegexAppliesTo#getRegex}
* @param regex An ECMA-262 regex string. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder regex(java.lang.String regex) {
this.regex = regex;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link RegexAppliesTo}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public RegexAppliesTo build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link RegexAppliesTo}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RegexAppliesTo {
private final java.lang.String regex;
/**
* 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.regex = software.amazon.jsii.Kernel.get(this, "regex", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.regex = java.util.Objects.requireNonNull(builder.regex, "regex is required");
}
@Override
public final java.lang.String getRegex() {
return this.regex;
}
@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("regex", om.valueToTree(this.getRegex()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("cdk-nag.RegexAppliesTo"));
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;
RegexAppliesTo.Jsii$Proxy that = (RegexAppliesTo.Jsii$Proxy) o;
return this.regex.equals(that.regex);
}
@Override
public final int hashCode() {
int result = this.regex.hashCode();
return result;
}
}
}