Class Attribute.Builder

  • Enclosing class:
    Attribute

    public static class Attribute.Builder
    extends Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • key

        public Attribute.Builder key​(String key)
        Unique attribute key that is immutable.
        Parameters:
        key - the value to set
        Returns:
        this builder
      • displayName

        public Attribute.Builder displayName​(String displayName)
        A user-friendly display name.

        Does not have to be unique, and it’s changeable. Avoid entering confidential information.

        Parameters:
        displayName - the value to set
        Returns:
        this builder
      • businessName

        public Attribute.Builder businessName​(String businessName)
        Optional user friendly business name of the attribute.

        If set, this supplements the harvested display name of the object.

        Parameters:
        businessName - the value to set
        Returns:
        this builder
      • description

        public Attribute.Builder description​(String description)
        Detailed description of the attribute.
        Parameters:
        description - the value to set
        Returns:
        this builder
      • entityKey

        public Attribute.Builder entityKey​(String entityKey)
        The unique key of the parent entity.
        Parameters:
        entityKey - the value to set
        Returns:
        this builder
      • lifecycleState

        public Attribute.Builder lifecycleState​(LifecycleState lifecycleState)
        State of the attribute.
        Parameters:
        lifecycleState - the value to set
        Returns:
        this builder
      • lifecycleDetails

        public Attribute.Builder lifecycleDetails​(String lifecycleDetails)
        A message describing the current state in more detail.

        An object not in ACTIVE state may have functional limitations, see service documentation for details.

        Parameters:
        lifecycleDetails - the value to set
        Returns:
        this builder
      • timeCreated

        public Attribute.Builder timeCreated​(Date timeCreated)
        The date and time the attribute was created, in the format defined by RFC3339.

        Example: 2019-03-25T21:10:29.600Z

        Parameters:
        timeCreated - the value to set
        Returns:
        this builder
      • timeUpdated

        public Attribute.Builder timeUpdated​(Date timeUpdated)
        The last time that any change was made to the attribute.

        An RFC3339 formatted datetime string.

        Parameters:
        timeUpdated - the value to set
        Returns:
        this builder
      • createdById

        public Attribute.Builder createdById​(String createdById)
        OCID of the user who created this attribute in the data catalog.
        Parameters:
        createdById - the value to set
        Returns:
        this builder
      • updatedById

        public Attribute.Builder updatedById​(String updatedById)
        OCID of the user who modified this attribute in the data catalog.
        Parameters:
        updatedById - the value to set
        Returns:
        this builder
      • externalDataType

        public Attribute.Builder externalDataType​(String externalDataType)
        Data type of the attribute as defined in the external system.

        Type mapping across systems can be achieved through term associations across domains in the ontology. The attribute can also be tagged to the datatype in the domain ontology to resolve any ambiguity arising from type name similarity that can occur with user defined types.

        Parameters:
        externalDataType - the value to set
        Returns:
        this builder
      • externalKey

        public Attribute.Builder externalKey​(String externalKey)
        Unique external key of this attribute in the external source system.
        Parameters:
        externalKey - the value to set
        Returns:
        this builder
      • isIncrementalData

        public Attribute.Builder isIncrementalData​(Boolean isIncrementalData)
        Property that identifies if this attribute can be used as a watermark to extract incremental data.
        Parameters:
        isIncrementalData - the value to set
        Returns:
        this builder
      • isNullable

        public Attribute.Builder isNullable​(Boolean isNullable)
        Property that identifies if this attribute can be assigned null values.
        Parameters:
        isNullable - the value to set
        Returns:
        this builder
      • typeKey

        public Attribute.Builder typeKey​(String typeKey)
        The type of the attribute.

        Type keys can be found via the ‘/types’ endpoint.

        Parameters:
        typeKey - the value to set
        Returns:
        this builder
      • minCollectionCount

        public Attribute.Builder minCollectionCount​(Integer minCollectionCount)
        The minimum count for the number of instances of a given type stored in this collection type attribute,applicable if this attribute is a complex type.
        Parameters:
        minCollectionCount - the value to set
        Returns:
        this builder
      • maxCollectionCount

        public Attribute.Builder maxCollectionCount​(Integer maxCollectionCount)
        The maximum count for the number of instances of a given type stored in this collection type attribute,applicable if this attribute is a complex type.

        For type specifications in systems that specify only “capacity” without upper or lower bound , this property can also be used to just mean “capacity”. Some examples are Varray size in Oracle , Occurs Clause in Cobol , capacity in XmlSchemaObjectCollection , maxOccurs in Xml , maxItems in Json

        Parameters:
        maxCollectionCount - the value to set
        Returns:
        this builder
      • datatypeEntityKey

        public Attribute.Builder datatypeEntityKey​(String datatypeEntityKey)
        Entity key that represents the datatype of this attribute , applicable if this attribute is a complex type.
        Parameters:
        datatypeEntityKey - the value to set
        Returns:
        this builder
      • externalDatatypeEntityKey

        public Attribute.Builder externalDatatypeEntityKey​(String externalDatatypeEntityKey)
        External entity key that represents the datatype of this attribute , applicable if this attribute is a complex type.
        Parameters:
        externalDatatypeEntityKey - the value to set
        Returns:
        this builder
      • parentAttributeKey

        public Attribute.Builder parentAttributeKey​(String parentAttributeKey)
        Attribute key that represents the parent attribute of this attribute , applicable if the parent attribute is of complex datatype.
        Parameters:
        parentAttributeKey - the value to set
        Returns:
        this builder
      • externalParentAttributeKey

        public Attribute.Builder externalParentAttributeKey​(String externalParentAttributeKey)
        External attribute key that represents the parent attribute of this attribute , applicable if the parent attribute is of complex type.
        Parameters:
        externalParentAttributeKey - the value to set
        Returns:
        this builder
      • length

        public Attribute.Builder length​(Long length)
        Max allowed length of the attribute value.
        Parameters:
        length - the value to set
        Returns:
        this builder
      • position

        public Attribute.Builder position​(Integer position)
        Position of the attribute in the record definition.
        Parameters:
        position - the value to set
        Returns:
        this builder
      • precision

        public Attribute.Builder precision​(Integer precision)
        Precision of the attribute value usually applies to float data type.
        Parameters:
        precision - the value to set
        Returns:
        this builder
      • scale

        public Attribute.Builder scale​(Integer scale)
        Scale of the attribute value usually applies to float data type.
        Parameters:
        scale - the value to set
        Returns:
        this builder
      • timeExternal

        public Attribute.Builder timeExternal​(Date timeExternal)
        Last modified timestamp of this object in the external system.
        Parameters:
        timeExternal - the value to set
        Returns:
        this builder
      • timeHarvested

        public Attribute.Builder timeHarvested​(Date timeHarvested)
        The date and time the attribute was harvested, in the format defined by RFC3339.
        Parameters:
        timeHarvested - the value to set
        Returns:
        this builder
      • objectRelationships

        public Attribute.Builder objectRelationships​(List<ObjectRelationship> objectRelationships)
        List of objects and their relationships to this attribute.
        Parameters:
        objectRelationships - the value to set
        Returns:
        this builder
      • isDerivedAttribute

        public Attribute.Builder isDerivedAttribute​(Boolean isDerivedAttribute)
        Whether a column is derived or not.
        Parameters:
        isDerivedAttribute - the value to set
        Returns:
        this builder
      • uri

        public Attribute.Builder uri​(String uri)
        URI to the attribute instance in the API.
        Parameters:
        uri - the value to set
        Returns:
        this builder
      • path

        public Attribute.Builder path​(String path)
        Full path of the attribute.
        Parameters:
        path - the value to set
        Returns:
        this builder
      • customPropertyMembers

        public Attribute.Builder customPropertyMembers​(List<CustomPropertyGetUsage> customPropertyMembers)
        The list of customized properties along with the values for this object
        Parameters:
        customPropertyMembers - the value to set
        Returns:
        this builder
      • properties

        public Attribute.Builder properties​(Map<String,​Map<String,​String>> properties)
        A map of maps that contains the properties which are specific to the attribute type.

        Each attribute type definition defines it’s set of required and optional properties. The map keys are category names and the values are maps of property name to property value. Every property is contained inside of a category. Most attributes have required properties within the “default” category. Example: {“properties”: { “default”: { “key1”: “value1”}}}

        Parameters:
        properties - the value to set
        Returns:
        this builder
      • associatedRuleTypes

        public Attribute.Builder associatedRuleTypes​(List<RuleType> associatedRuleTypes)
        Rule types associated with attribute.
        Parameters:
        associatedRuleTypes - the value to set
        Returns:
        this builder