Class AttributeDef.AttributeDefBuilder<C extends AttributeDef,B extends AttributeDef.AttributeDefBuilder<C,B>>

java.lang.Object
com.atlan.model.core.AtlanObject.AtlanObjectBuilder<C,B>
com.atlan.model.typedefs.AttributeDef.AttributeDefBuilder<C,B>
Direct Known Subclasses:
RelationshipAttributeDef.RelationshipAttributeDefBuilder, RelationshipEndDef.RelationshipEndDefBuilder
Enclosing class:
AttributeDef

public abstract static class AttributeDef.AttributeDefBuilder<C extends AttributeDef,B extends AttributeDef.AttributeDefBuilder<C,B>> extends AtlanObject.AtlanObjectBuilder<C,B>
  • Constructor Details

    • AttributeDefBuilder

      public AttributeDefBuilder()
  • Method Details

    • archive

      public B archive(String by)
      Mark this attribute definition as archived. Note that this will only do so if the attribute is already defined (i.e. has some options). Otherwise, this operation does nothing to the attribute definition.
      Parameters:
      by - name of the user who is archiving the attribute definition
    • $fillValuesFrom

      protected B $fillValuesFrom(C instance)
      Overrides:
      $fillValuesFrom in class AtlanObject.AtlanObjectBuilder<C extends AttributeDef,B extends AttributeDef.AttributeDefBuilder<C,B>>
    • name

      public B name(String name)
      Internal hashed-string name for the attribute.
      Returns:
      this.
    • displayName

      public B displayName(String displayName)
      Human-readable name of the attribute.
      Returns:
      this.
    • description

      public B description(String description)
      Explanation of the attribute.
      Returns:
      this.
    • typeName

      public B typeName(String typeName)
      Type of the attribute.
      • This can either be a primitive Atlan type or the name of a custom metadata enumeration (options).
      • The primitive Atlan types' values are defined in the AtlanCustomAttributePrimitiveType enumeration.
      • Note: there are a number of custom types there as well (users, groups, url, and SQL). The typeName for all of these custom types is STRING, and the more detailed type only appears in the options.
      • For fields that can be multivalued, use array<type> for the typeName.
      Returns:
      this.
    • defaultValue

      public B defaultValue(String defaultValue)
      Specifies an (optional) default value for the attribute.
      Returns:
      this.
    • isDefaultValueNull

      public B isDefaultValueNull(Boolean isDefaultValueNull)
      Indicates whether the attribute has a default value of being empty (true) or not (false).
      Returns:
      this.
    • isOptional

      public B isOptional(Boolean isOptional)
      Indicates whether the attribute is mandatory (false) or optional (true).
      Returns:
      this.
    • cardinality

      public B cardinality(AtlanCustomAttributeCardinality cardinality)
      Specifies whether the attribute is single or multivalued.
      Returns:
      this.
    • valuesMinCount

      public B valuesMinCount(Long valuesMinCount)
      Specifies the minimum number of values the attribute can have.
      Returns:
      this.
    • valuesMaxCount

      public B valuesMaxCount(Long valuesMaxCount)
      Specifies the maximum number of values the attribute can have.
      Returns:
      this.
    • isUnique

      public B isUnique(Boolean isUnique)
      Specifies whether the attribute must have unique values (true) or not (false).
      Returns:
      this.
    • isIndexable

      public B isIndexable(Boolean isIndexable)
      Specifies whether the attribute can be searched (true) or not (false).
      Returns:
      this.
    • includeInNotification

      public B includeInNotification(Boolean includeInNotification)
      Whether changes to this attribute's value generate an event (true) or not (false).
      Returns:
      this.
    • skipScrubbing

      public B skipScrubbing(Boolean skipScrubbing)
      TBC
      Returns:
      this.
    • searchWeight

      public B searchWeight(Long searchWeight)
      TBC
      Returns:
      this.
    • indexType

      public B indexType(String indexType)
      TBC
      Returns:
      this.
    • options

      public B options(AttributeDefOptions options)
      Options for the attribute.
      Returns:
      this.
    • isNew

      public B isNew(Boolean isNew)
      Whether the attribute is being newly created (true) or not (false).
      Returns:
      this.
    • enumValue

      public B enumValue(String enumValue)
    • enumValues

      public B enumValues(Collection<? extends String> enumValues)
    • clearEnumValues

      public B clearEnumValues()
    • constraints

      public B constraints(List<Constraint> constraints)
      TBC
      Returns:
      this.
    • indexTypeESConfig

      public B indexTypeESConfig(Map<String,String> indexTypeESConfig)
      TBC
      Returns:
      this.
    • indexTypeESFields

      public B indexTypeESFields(Map<String,Map<String,String>> indexTypeESFields)
      TBC
      Returns:
      this.
    • autoUpdateAttributes

      public B autoUpdateAttributes(Map<String,List<String>> autoUpdateAttributes)
      TBC
      Returns:
      this.
    • self

      protected abstract B self()
      Specified by:
      self in class AtlanObject.AtlanObjectBuilder<C extends AttributeDef,B extends AttributeDef.AttributeDefBuilder<C,B>>
    • build

      public abstract C build()
      Specified by:
      build in class AtlanObject.AtlanObjectBuilder<C extends AttributeDef,B extends AttributeDef.AttributeDefBuilder<C,B>>
    • toString

      public String toString()
      Overrides:
      toString in class AtlanObject.AtlanObjectBuilder<C extends AttributeDef,B extends AttributeDef.AttributeDefBuilder<C,B>>