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 Link icon

    • AttributeDefBuilder Link icon

      public AttributeDefBuilder()
  • Method Details Link icon

    • archive Link icon

      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
      Returns:
      the builder for archiving this attribute definition
    • multiValued Link icon

      public B multiValued(boolean multiValued)
      Configure this attribute definition to allow multiple values. Note that you MUST first have defined a type for the attribute definition, or this will likely not work as expected.
      Parameters:
      multiValued - true if multiple values are allowed for the attribute, otherwise false
      Returns:
      the builder configured for the multiple or singular values for this attribute definition
    • $fillValuesFrom Link icon

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

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

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

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

      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 Link icon

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public B enumValue(String enumValue)
    • enumValues Link icon

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

      public B clearEnumValues()
    • constraints Link icon

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

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

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

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

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

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

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