io.github.randyridgley.cdk.datalake.constructs.DataStreamProperties Maven / Gradle / Ivy
package io.github.randyridgley.cdk.datalake.constructs;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.58.0 (build f8ba112)", date = "2022-05-10T19:23:44.607Z")
@software.amazon.jsii.Jsii(module = io.github.randyridgley.cdk.datalake.constructs.$Module.class, fqn = "@randyridgley/cdk-datalake-constructs.DataStreamProperties")
@software.amazon.jsii.Jsii.Proxy(DataStreamProperties.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface DataStreamProperties extends software.amazon.jsii.JsiiSerializable {
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull io.github.randyridgley.cdk.datalake.constructs.DataCatalogOwner getDataCatalogOwner();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getDestinationBucketName();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getDestinationPrefix();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull io.github.randyridgley.cdk.datalake.constructs.LambdaDataGeneratorProperties getLambdaDataGenerator();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getName();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getStreamName();
/**
* @return a {@link Builder} of {@link DataStreamProperties}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link DataStreamProperties}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
io.github.randyridgley.cdk.datalake.constructs.DataCatalogOwner dataCatalogOwner;
java.lang.String destinationBucketName;
java.lang.String destinationPrefix;
io.github.randyridgley.cdk.datalake.constructs.LambdaDataGeneratorProperties lambdaDataGenerator;
java.lang.String name;
java.lang.String streamName;
/**
* Sets the value of {@link DataStreamProperties#getDataCatalogOwner}
* @param dataCatalogOwner the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder dataCatalogOwner(io.github.randyridgley.cdk.datalake.constructs.DataCatalogOwner dataCatalogOwner) {
this.dataCatalogOwner = dataCatalogOwner;
return this;
}
/**
* Sets the value of {@link DataStreamProperties#getDestinationBucketName}
* @param destinationBucketName the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder destinationBucketName(java.lang.String destinationBucketName) {
this.destinationBucketName = destinationBucketName;
return this;
}
/**
* Sets the value of {@link DataStreamProperties#getDestinationPrefix}
* @param destinationPrefix the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder destinationPrefix(java.lang.String destinationPrefix) {
this.destinationPrefix = destinationPrefix;
return this;
}
/**
* Sets the value of {@link DataStreamProperties#getLambdaDataGenerator}
* @param lambdaDataGenerator the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder lambdaDataGenerator(io.github.randyridgley.cdk.datalake.constructs.LambdaDataGeneratorProperties lambdaDataGenerator) {
this.lambdaDataGenerator = lambdaDataGenerator;
return this;
}
/**
* Sets the value of {@link DataStreamProperties#getName}
* @param name the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(java.lang.String name) {
this.name = name;
return this;
}
/**
* Sets the value of {@link DataStreamProperties#getStreamName}
* @param streamName the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder streamName(java.lang.String streamName) {
this.streamName = streamName;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link DataStreamProperties}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public DataStreamProperties build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link DataStreamProperties}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DataStreamProperties {
private final io.github.randyridgley.cdk.datalake.constructs.DataCatalogOwner dataCatalogOwner;
private final java.lang.String destinationBucketName;
private final java.lang.String destinationPrefix;
private final io.github.randyridgley.cdk.datalake.constructs.LambdaDataGeneratorProperties lambdaDataGenerator;
private final java.lang.String name;
private final java.lang.String streamName;
/**
* 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.dataCatalogOwner = software.amazon.jsii.Kernel.get(this, "dataCatalogOwner", software.amazon.jsii.NativeType.forClass(io.github.randyridgley.cdk.datalake.constructs.DataCatalogOwner.class));
this.destinationBucketName = software.amazon.jsii.Kernel.get(this, "destinationBucketName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.destinationPrefix = software.amazon.jsii.Kernel.get(this, "destinationPrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.lambdaDataGenerator = software.amazon.jsii.Kernel.get(this, "lambdaDataGenerator", software.amazon.jsii.NativeType.forClass(io.github.randyridgley.cdk.datalake.constructs.LambdaDataGeneratorProperties.class));
this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.streamName = software.amazon.jsii.Kernel.get(this, "streamName", 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.dataCatalogOwner = java.util.Objects.requireNonNull(builder.dataCatalogOwner, "dataCatalogOwner is required");
this.destinationBucketName = java.util.Objects.requireNonNull(builder.destinationBucketName, "destinationBucketName is required");
this.destinationPrefix = java.util.Objects.requireNonNull(builder.destinationPrefix, "destinationPrefix is required");
this.lambdaDataGenerator = java.util.Objects.requireNonNull(builder.lambdaDataGenerator, "lambdaDataGenerator is required");
this.name = java.util.Objects.requireNonNull(builder.name, "name is required");
this.streamName = java.util.Objects.requireNonNull(builder.streamName, "streamName is required");
}
@Override
public final io.github.randyridgley.cdk.datalake.constructs.DataCatalogOwner getDataCatalogOwner() {
return this.dataCatalogOwner;
}
@Override
public final java.lang.String getDestinationBucketName() {
return this.destinationBucketName;
}
@Override
public final java.lang.String getDestinationPrefix() {
return this.destinationPrefix;
}
@Override
public final io.github.randyridgley.cdk.datalake.constructs.LambdaDataGeneratorProperties getLambdaDataGenerator() {
return this.lambdaDataGenerator;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final java.lang.String getStreamName() {
return this.streamName;
}
@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("dataCatalogOwner", om.valueToTree(this.getDataCatalogOwner()));
data.set("destinationBucketName", om.valueToTree(this.getDestinationBucketName()));
data.set("destinationPrefix", om.valueToTree(this.getDestinationPrefix()));
data.set("lambdaDataGenerator", om.valueToTree(this.getLambdaDataGenerator()));
data.set("name", om.valueToTree(this.getName()));
data.set("streamName", om.valueToTree(this.getStreamName()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@randyridgley/cdk-datalake-constructs.DataStreamProperties"));
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;
DataStreamProperties.Jsii$Proxy that = (DataStreamProperties.Jsii$Proxy) o;
if (!dataCatalogOwner.equals(that.dataCatalogOwner)) return false;
if (!destinationBucketName.equals(that.destinationBucketName)) return false;
if (!destinationPrefix.equals(that.destinationPrefix)) return false;
if (!lambdaDataGenerator.equals(that.lambdaDataGenerator)) return false;
if (!name.equals(that.name)) return false;
return this.streamName.equals(that.streamName);
}
@Override
public final int hashCode() {
int result = this.dataCatalogOwner.hashCode();
result = 31 * result + (this.destinationBucketName.hashCode());
result = 31 * result + (this.destinationPrefix.hashCode());
result = 31 * result + (this.lambdaDataGenerator.hashCode());
result = 31 * result + (this.name.hashCode());
result = 31 * result + (this.streamName.hashCode());
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy