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

com.atlan.model.relations.GlossarySemanticAssignment Maven / Gradle / Ivy

// Generated by delombok at Thu Oct 10 18:56:32 UTC 2024
/* SPDX-License-Identifier: Apache-2.0
   Copyright 2024 Atlan Pte. Ltd. */
package com.atlan.model.relations;

import com.atlan.exception.InvalidRequestException;
import com.atlan.model.assets.GlossaryTerm;
import com.atlan.model.assets.IGlossaryTerm;
import com.atlan.model.enums.AtlasGlossaryTermRelationshipStatus;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.processing.Generated;

/**
 * Assigns meaning to an asset by linking the term that describes the meaning of the asset. The semantic assignment needs to be a controlled relationship when glossary definitions are used to provide classifications for the data assets and hence define how the data is to be governed.
 */
@Generated("com.atlan.generators.ModelGeneratorV2")
public class GlossarySemanticAssignment extends RelationshipAttributes {
    private static final long serialVersionUID = 2L;
    public static final String TYPE_NAME = "AtlasGlossarySemanticAssignment";
    /**
     * Fixed typeName for GlossarySemanticAssignments.
     */
    String typeName;
    /**
     * TBC
     */
    Integer confidence;
    /**
     * TBC
     */
    String createdBy;
    /**
     * TBC
     */
    String description;
    /**
     * TBC
     */
    String expression;
    /**
     * TBC
     */
    String source;
    /**
     * TBC
     */
    AtlasGlossaryTermRelationshipStatus status;
    /**
     * TBC
     */
    String steward;

    /**
     * {@inheritDoc}
     */
    @Override
    public Map getAll() {
        Map map = new HashMap<>();
        if (confidence != null) {
            map.put("confidence", confidence);
        }
        if (createdBy != null) {
            map.put("createdBy", createdBy);
        }
        if (description != null) {
            map.put("description", description);
        }
        if (expression != null) {
            map.put("expression", expression);
        }
        if (source != null) {
            map.put("source", source);
        }
        if (status != null) {
            map.put("status", status);
        }
        if (steward != null) {
            map.put("steward", steward);
        }
        return map;
    }


    /**
     * Assigns meaning to an asset by linking the term that describes the meaning of the asset. The semantic assignment needs to be a controlled relationship when glossary definitions are used to provide classifications for the data assets and hence define how the data is to be governed.
     */
    @Generated("com.atlan.generators.ModelGeneratorV2")
    public static final class AssignedTerm extends GlossaryTerm {
        private static final long serialVersionUID = 2L;
        /**
         * Fixed typeName for GlossarySemanticAssignment.
         */
        String relationshipType;
        /**
         * Relationship attributes specific to GlossarySemanticAssignment.
         */
        GlossarySemanticAssignment relationshipAttributes;

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private static String $default$relationshipType() {
            return GlossarySemanticAssignment.TYPE_NAME;
        }


        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public static abstract class AssignedTermBuilder> extends GlossaryTerm.GlossaryTermBuilder {
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            private boolean relationshipType$set;
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            private String relationshipType$value;
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            private GlossarySemanticAssignment relationshipAttributes;

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

            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            private static void $fillValuesFromInstanceIntoBuilder(final GlossarySemanticAssignment.AssignedTerm instance, final GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilder b) {
                b.relationshipType(instance.relationshipType);
                b.relationshipAttributes(instance.relationshipAttributes);
            }

            /**
             * Fixed typeName for GlossarySemanticAssignment.
             * @return {@code this}.
             */
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            public B relationshipType(final String relationshipType) {
                this.relationshipType$value = relationshipType;
                relationshipType$set = true;
                return self();
            }

            /**
             * Relationship attributes specific to GlossarySemanticAssignment.
             * @return {@code this}.
             */
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            public B relationshipAttributes(final GlossarySemanticAssignment relationshipAttributes) {
                this.relationshipAttributes = relationshipAttributes;
                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 "GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilder(super=" + super.toString() + ", relationshipType$value=" + this.relationshipType$value + ", relationshipAttributes=" + this.relationshipAttributes + ")";
            }
        }


        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private static final class AssignedTermBuilderImpl extends GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilder {
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            private AssignedTermBuilderImpl() {
            }

            @java.lang.Override
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            protected GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilderImpl self() {
                return this;
            }

            @java.lang.Override
            @java.lang.SuppressWarnings("all")
            @lombok.Generated
            public GlossarySemanticAssignment.AssignedTerm build() {
                return new GlossarySemanticAssignment.AssignedTerm(this);
            }
        }

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected AssignedTerm(final GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilder b) {
            super(b);
            if (b.relationshipType$set) this.relationshipType = b.relationshipType$value;
             else this.relationshipType = GlossarySemanticAssignment.AssignedTerm.$default$relationshipType();
            this.relationshipAttributes = b.relationshipAttributes;
        }

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public static GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilder _internal() {
            return new GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilderImpl();
        }

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilder toBuilder() {
            return new GlossarySemanticAssignment.AssignedTerm.AssignedTermBuilderImpl().$fillValuesFrom(this);
        }

        /**
         * Relationship attributes specific to GlossarySemanticAssignment.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public GlossarySemanticAssignment getRelationshipAttributes() {
            return this.relationshipAttributes;
        }

        @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 GlossarySemanticAssignment.AssignedTerm)) return false;
            final GlossarySemanticAssignment.AssignedTerm other = (GlossarySemanticAssignment.AssignedTerm) o;
            if (!other.canEqual((java.lang.Object) this)) return false;
            if (!super.equals(o)) return false;
            final java.lang.Object this$relationshipType = this.getRelationshipType();
            final java.lang.Object other$relationshipType = other.getRelationshipType();
            if (this$relationshipType == null ? other$relationshipType != null : !this$relationshipType.equals(other$relationshipType)) return false;
            final java.lang.Object this$relationshipAttributes = this.getRelationshipAttributes();
            final java.lang.Object other$relationshipAttributes = other.getRelationshipAttributes();
            if (this$relationshipAttributes == null ? other$relationshipAttributes != null : !this$relationshipAttributes.equals(other$relationshipAttributes)) return false;
            return true;
        }

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

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

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public java.lang.String toString() {
            return "GlossarySemanticAssignment.AssignedTerm(super=" + super.toString() + ", relationshipType=" + this.getRelationshipType() + ", relationshipAttributes=" + this.getRelationshipAttributes() + ")";
        }

        /**
         * Fixed typeName for GlossarySemanticAssignment.
         */
        @Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public String getRelationshipType() {
            return this.relationshipType;
        }
    }


    public static abstract class GlossarySemanticAssignmentBuilder> extends RelationshipAttributes.RelationshipAttributesBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private boolean typeName$set;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String typeName$value;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private Integer confidence;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String createdBy;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String description;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String expression;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String source;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private AtlasGlossaryTermRelationshipStatus status;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String steward;

        /**
         * Build the GlossarySemanticAssignment relationship (with attributes) into a related object.
         *
         * @param related the related asset to which to build the detailed relationship
         * @return a detailed Atlan relationship that conforms to the necessary interface for a related asset
         * @throws InvalidRequestException if the asset provided is without a GUID or qualifiedName
         */
        public IGlossaryTerm assignedTerm(IGlossaryTerm related) throws InvalidRequestException {
            GlossarySemanticAssignment attributes = build();
            if (related.getGuid() != null && !related.getGuid().isBlank()) {
                return AssignedTerm._internal().guid(related.getGuid()).relationshipAttributes(attributes).build();
            } else {
                return AssignedTerm._internal().uniqueAttributes(UniqueAttributes.builder().qualifiedName(related.getQualifiedName()).build()).relationshipAttributes(attributes).build();
            }
        }

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

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private static void $fillValuesFromInstanceIntoBuilder(final GlossarySemanticAssignment instance, final GlossarySemanticAssignment.GlossarySemanticAssignmentBuilder b) {
            b.typeName(instance.typeName);
            b.confidence(instance.confidence);
            b.createdBy(instance.createdBy);
            b.description(instance.description);
            b.expression(instance.expression);
            b.source(instance.source);
            b.status(instance.status);
            b.steward(instance.steward);
        }

        /**
         * Fixed typeName for GlossarySemanticAssignments.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B typeName(final String typeName) {
            this.typeName$value = typeName;
            typeName$set = true;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B confidence(final Integer confidence) {
            this.confidence = confidence;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B createdBy(final String createdBy) {
            this.createdBy = createdBy;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B description(final String description) {
            this.description = description;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B expression(final String expression) {
            this.expression = expression;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B source(final String source) {
            this.source = source;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B status(final AtlasGlossaryTermRelationshipStatus status) {
            this.status = status;
            return self();
        }

        /**
         * TBC
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B steward(final String steward) {
            this.steward = steward;
            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 "GlossarySemanticAssignment.GlossarySemanticAssignmentBuilder(super=" + super.toString() + ", typeName$value=" + this.typeName$value + ", confidence=" + this.confidence + ", createdBy=" + this.createdBy + ", description=" + this.description + ", expression=" + this.expression + ", source=" + this.source + ", status=" + this.status + ", steward=" + this.steward + ")";
        }
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    private static String $default$typeName() {
        return TYPE_NAME;
    }


    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    private static final class GlossarySemanticAssignmentBuilderImpl extends GlossarySemanticAssignment.GlossarySemanticAssignmentBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private GlossarySemanticAssignmentBuilderImpl() {
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected GlossarySemanticAssignment.GlossarySemanticAssignmentBuilderImpl self() {
            return this;
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public GlossarySemanticAssignment build() {
            return new GlossarySemanticAssignment(this);
        }
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected GlossarySemanticAssignment(final GlossarySemanticAssignment.GlossarySemanticAssignmentBuilder b) {
        super(b);
        if (b.typeName$set) this.typeName = b.typeName$value;
         else this.typeName = GlossarySemanticAssignment.$default$typeName();
        this.confidence = b.confidence;
        this.createdBy = b.createdBy;
        this.description = b.description;
        this.expression = b.expression;
        this.source = b.source;
        this.status = b.status;
        this.steward = b.steward;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public static GlossarySemanticAssignment.GlossarySemanticAssignmentBuilder builder() {
        return new GlossarySemanticAssignment.GlossarySemanticAssignmentBuilderImpl();
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public GlossarySemanticAssignment.GlossarySemanticAssignmentBuilder toBuilder() {
        return new GlossarySemanticAssignment.GlossarySemanticAssignmentBuilderImpl().$fillValuesFrom(this);
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public Integer getConfidence() {
        return this.confidence;
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getCreatedBy() {
        return this.createdBy;
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getDescription() {
        return this.description;
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getExpression() {
        return this.expression;
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getSource() {
        return this.source;
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public AtlasGlossaryTermRelationshipStatus getStatus() {
        return this.status;
    }

    /**
     * TBC
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getSteward() {
        return this.steward;
    }

    @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 GlossarySemanticAssignment)) return false;
        final GlossarySemanticAssignment other = (GlossarySemanticAssignment) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        if (!super.equals(o)) return false;
        final java.lang.Object this$confidence = this.getConfidence();
        final java.lang.Object other$confidence = other.getConfidence();
        if (this$confidence == null ? other$confidence != null : !this$confidence.equals(other$confidence)) 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;
        final java.lang.Object this$createdBy = this.getCreatedBy();
        final java.lang.Object other$createdBy = other.getCreatedBy();
        if (this$createdBy == null ? other$createdBy != null : !this$createdBy.equals(other$createdBy)) return false;
        final java.lang.Object this$description = this.getDescription();
        final java.lang.Object other$description = other.getDescription();
        if (this$description == null ? other$description != null : !this$description.equals(other$description)) return false;
        final java.lang.Object this$expression = this.getExpression();
        final java.lang.Object other$expression = other.getExpression();
        if (this$expression == null ? other$expression != null : !this$expression.equals(other$expression)) return false;
        final java.lang.Object this$source = this.getSource();
        final java.lang.Object other$source = other.getSource();
        if (this$source == null ? other$source != null : !this$source.equals(other$source)) return false;
        final java.lang.Object this$status = this.getStatus();
        final java.lang.Object other$status = other.getStatus();
        if (this$status == null ? other$status != null : !this$status.equals(other$status)) return false;
        final java.lang.Object this$steward = this.getSteward();
        final java.lang.Object other$steward = other.getSteward();
        if (this$steward == null ? other$steward != null : !this$steward.equals(other$steward)) return false;
        return true;
    }

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

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final java.lang.Object $confidence = this.getConfidence();
        result = result * PRIME + ($confidence == null ? 43 : $confidence.hashCode());
        final java.lang.Object $typeName = this.getTypeName();
        result = result * PRIME + ($typeName == null ? 43 : $typeName.hashCode());
        final java.lang.Object $createdBy = this.getCreatedBy();
        result = result * PRIME + ($createdBy == null ? 43 : $createdBy.hashCode());
        final java.lang.Object $description = this.getDescription();
        result = result * PRIME + ($description == null ? 43 : $description.hashCode());
        final java.lang.Object $expression = this.getExpression();
        result = result * PRIME + ($expression == null ? 43 : $expression.hashCode());
        final java.lang.Object $source = this.getSource();
        result = result * PRIME + ($source == null ? 43 : $source.hashCode());
        final java.lang.Object $status = this.getStatus();
        result = result * PRIME + ($status == null ? 43 : $status.hashCode());
        final java.lang.Object $steward = this.getSteward();
        result = result * PRIME + ($steward == null ? 43 : $steward.hashCode());
        return result;
    }

    /**
     * Fixed typeName for GlossarySemanticAssignments.
     */
    @Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getTypeName() {
        return this.typeName;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy