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

com.atlan.model.structs.AtlanStruct Maven / Gradle / Ivy

// Generated by delombok at Wed Oct 16 22:16:04 UTC 2024
/* SPDX-License-Identifier: Apache-2.0
   Copyright 2023 Atlan Pte. Ltd. */
package com.atlan.model.structs;

import com.atlan.model.core.AtlanObject;
import com.atlan.serde.StructDeserializer;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import javax.annotation.processing.Generated;

/**
 * Base class for all structs.
 */
@Generated("com.atlan.generators.ModelGeneratorV2")
@JsonDeserialize(using = StructDeserializer.class)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "typeName")
@JsonSubTypes({@JsonSubTypes.Type(value = Action.class, name = Action.TYPE_NAME), @JsonSubTypes.Type(value = AuthPolicyCondition.class, name = AuthPolicyCondition.TYPE_NAME), @JsonSubTypes.Type(value = AuthPolicyValiditySchedule.class, name = AuthPolicyValiditySchedule.TYPE_NAME), @JsonSubTypes.Type(value = AwsCloudWatchMetric.class, name = AwsCloudWatchMetric.TYPE_NAME), @JsonSubTypes.Type(value = AwsTag.class, name = AwsTag.TYPE_NAME), @JsonSubTypes.Type(value = AzureTag.class, name = AzureTag.TYPE_NAME), @JsonSubTypes.Type(value = BadgeCondition.class, name = BadgeCondition.TYPE_NAME), @JsonSubTypes.Type(value = ColumnValueFrequencyMap.class, name = ColumnValueFrequencyMap.TYPE_NAME), @JsonSubTypes.Type(value = DbtJobRun.class, name = DbtJobRun.TYPE_NAME), @JsonSubTypes.Type(value = DbtMetricFilter.class, name = DbtMetricFilter.TYPE_NAME), @JsonSubTypes.Type(value = GoogleLabel.class, name = GoogleLabel.TYPE_NAME), @JsonSubTypes.Type(value = GoogleTag.class, name = GoogleTag.TYPE_NAME), @JsonSubTypes.Type(value = Histogram.class, name = Histogram.TYPE_NAME), @JsonSubTypes.Type(value = KafkaTopicConsumption.class, name = KafkaTopicConsumption.TYPE_NAME), @JsonSubTypes.Type(value = MCRuleComparison.class, name = MCRuleComparison.TYPE_NAME), @JsonSubTypes.Type(value = MCRuleSchedule.class, name = MCRuleSchedule.TYPE_NAME), @JsonSubTypes.Type(value = PopularityInsights.class, name = PopularityInsights.TYPE_NAME), @JsonSubTypes.Type(value = SourceTagAttachment.class, name = SourceTagAttachment.TYPE_NAME), @JsonSubTypes.Type(value = SourceTagAttachmentValue.class, name = SourceTagAttachmentValue.TYPE_NAME), @JsonSubTypes.Type(value = SourceTagAttribute.class, name = SourceTagAttribute.TYPE_NAME), @JsonSubTypes.Type(value = StarredDetails.class, name = StarredDetails.TYPE_NAME)})
public abstract class AtlanStruct extends AtlanObject {
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(AtlanStruct.class);
    private static final long serialVersionUID = 2L;
    /**
     * Name of the type that defines the struct.
     */
    String typeName;


    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public static abstract class AtlanStructBuilder> extends AtlanObject.AtlanObjectBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String typeName;

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected B $fillValuesFrom(final C instance) {
            super.$fillValuesFrom(instance);
            AtlanStruct.AtlanStructBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
            return self();
        }

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private static void $fillValuesFromInstanceIntoBuilder(final AtlanStruct instance, final AtlanStruct.AtlanStructBuilder b) {
            b.typeName(instance.typeName);
        }

        /**
         * Name of the type that defines the struct.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B typeName(final String typeName) {
            this.typeName = typeName;
            return self();
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected abstract B self();

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public abstract C build();

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public java.lang.String toString() {
            return "AtlanStruct.AtlanStructBuilder(super=" + super.toString() + ", typeName=" + this.typeName + ")";
        }
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected AtlanStruct(final AtlanStruct.AtlanStructBuilder b) {
        super(b);
        this.typeName = b.typeName;
    }

    /**
     * Name of the type that defines the struct.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getTypeName() {
        return this.typeName;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof AtlanStruct)) return false;
        final AtlanStruct other = (AtlanStruct) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        if (!super.equals(o)) return false;
        final java.lang.Object this$typeName = this.getTypeName();
        final java.lang.Object other$typeName = other.getTypeName();
        if (this$typeName == null ? other$typeName != null : !this$typeName.equals(other$typeName)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof AtlanStruct;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final java.lang.Object $typeName = this.getTypeName();
        result = result * PRIME + ($typeName == null ? 43 : $typeName.hashCode());
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy