Class Folder

All Implemented Interfaces:
IAsset, IFolder, INamespace, IReferenceable, AuditDetail, Serializable, Comparable<Reference>

@Generated("com.atlan.generators.ModelGeneratorV2") public class Folder extends Asset implements IFolder, INamespace, IAsset, IReferenceable
Instance of a folder within a query collection in Atlan.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • trimToReference

      public Folder trimToReference() throws InvalidRequestException
      Builds the minimal object necessary to create a relationship to a Folder, from a potentially more-complete Folder object.
      Overrides:
      trimToReference in class Asset
      Returns:
      the minimal object necessary to relate to the Folder
      Throws:
      InvalidRequestException - if any of the minimal set of required properties for a Folder relationship are not found in the initial object
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select()
      Start a fluent search that will return all Folder assets. Additional conditions can be chained onto the returned search before any asset retrieval is attempted, ensuring all conditions are pushed-down for optimal retrieval. Only active (non-archived) Folder assets will be included.
      Returns:
      a fluent search that includes all Folder assets
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select(AtlanClient client)
      Start a fluent search that will return all Folder assets. Additional conditions can be chained onto the returned search before any asset retrieval is attempted, ensuring all conditions are pushed-down for optimal retrieval. Only active (non-archived) Folder assets will be included.
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the assets
      Returns:
      a fluent search that includes all Folder assets
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select(boolean includeArchived)
      Start a fluent search that will return all Folder assets. Additional conditions can be chained onto the returned search before any asset retrieval is attempted, ensuring all conditions are pushed-down for optimal retrieval.
      Parameters:
      includeArchived - when true, archived (soft-deleted) Folders will be included
      Returns:
      a fluent search that includes all Folder assets
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select(AtlanClient client, boolean includeArchived)
      Start a fluent search that will return all Folder assets. Additional conditions can be chained onto the returned search before any asset retrieval is attempted, ensuring all conditions are pushed-down for optimal retrieval.
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the assets
      includeArchived - when true, archived (soft-deleted) Folders will be included
      Returns:
      a fluent search that includes all Folder assets
    • refByGuid

      public static Folder refByGuid(String guid)
      Reference to a Folder by GUID. Use this to create a relationship to this Folder, where the relationship should be replaced.
      Parameters:
      guid - the GUID of the Folder to reference
      Returns:
      reference to a Folder that can be used for defining a relationship to a Folder
    • refByGuid

      public static Folder refByGuid(String guid, Reference.SaveSemantic semantic)
      Reference to a Folder by GUID. Use this to create a relationship to this Folder, where you want to further control how that relationship should be updated (i.e. replaced, appended, or removed).
      Parameters:
      guid - the GUID of the Folder to reference
      semantic - how to save this relationship (replace all with this, append it, or remove it)
      Returns:
      reference to a Folder that can be used for defining a relationship to a Folder
    • refByQualifiedName

      public static Folder refByQualifiedName(String qualifiedName)
      Reference to a Folder by qualifiedName. Use this to create a relationship to this Folder, where the relationship should be replaced.
      Parameters:
      qualifiedName - the qualifiedName of the Folder to reference
      Returns:
      reference to a Folder that can be used for defining a relationship to a Folder
    • refByQualifiedName

      public static Folder refByQualifiedName(String qualifiedName, Reference.SaveSemantic semantic)
      Reference to a Folder by qualifiedName. Use this to create a relationship to this Folder, where you want to further control how that relationship should be updated (i.e. replaced, appended, or removed).
      Parameters:
      qualifiedName - the qualifiedName of the Folder to reference
      semantic - how to save this relationship (replace all with this, append it, or remove it)
      Returns:
      reference to a Folder that can be used for defining a relationship to a Folder
    • get

      public static Folder get(String id) throws AtlanException
      Retrieves a Folder by one of its identifiers, complete with all of its relationships.
      Parameters:
      id - of the Folder to retrieve, either its GUID or its full qualifiedName
      Returns:
      the requested full Folder, complete with all of its relationships
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the Folder does not exist or the provided GUID is not a Folder
    • get

      public static Folder get(AtlanClient client, String id) throws AtlanException
      Retrieves a Folder by one of its identifiers, complete with all of its relationships.
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the asset
      id - of the Folder to retrieve, either its GUID or its full qualifiedName
      Returns:
      the requested full Folder, complete with all of its relationships
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the Folder does not exist or the provided GUID is not a Folder
    • get

      public static Folder get(AtlanClient client, String id, boolean includeRelationships) throws AtlanException
      Retrieves a Folder by one of its identifiers, optionally complete with all of its relationships.
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the asset
      id - of the Folder to retrieve, either its GUID or its full qualifiedName
      includeRelationships - if true, all of the asset's relationships will also be retrieved; if false, no relationships will be retrieved
      Returns:
      the requested full Folder, optionally complete with all of its relationships
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the Folder does not exist or the provided GUID is not a Folder
    • restore

      public static boolean restore(String qualifiedName) throws AtlanException
      Restore the archived (soft-deleted) Folder to active.
      Parameters:
      qualifiedName - for the Folder
      Returns:
      true if the Folder is now active, and false otherwise
      Throws:
      AtlanException - on any API problems
    • restore

      public static boolean restore(AtlanClient client, String qualifiedName) throws AtlanException
      Restore the archived (soft-deleted) Folder to active.
      Parameters:
      client - connectivity to the Atlan tenant on which to restore the asset
      qualifiedName - for the Folder
      Returns:
      true if the Folder is now active, and false otherwise
      Throws:
      AtlanException - on any API problems
    • creator

      public static Folder.FolderBuilder<?,?> creator(String name, Folder parentFolder) throws InvalidRequestException
      Builds the minimal object necessary to create a Folder.
      Parameters:
      name - of the Folder
      parentFolder - in which the Folder should be created, which must have at least a qualifiedName
      Returns:
      the minimal request necessary to create the Folder, as a builder
      Throws:
      InvalidRequestException - if the parentFolder provided is without a qualifiedName
    • creator

      public static Folder.FolderBuilder<?,?> creator(String name, AtlanCollection collection) throws InvalidRequestException
      Builds the minimal object necessary to create a Folder.
      Parameters:
      name - of the Folder
      collection - in which the Folder should be created, which must have at least a qualifiedName
      Returns:
      the minimal request necessary to create the Folder, as a builder
      Throws:
      InvalidRequestException - if the collection provided is without a qualifiedName
    • creator

      public static Folder.FolderBuilder<?,?> creator(String name, String collectionQualifiedName, String parentQualifiedName)
      Builds the minimal object necessary to create a Folder.
      Parameters:
      name - of the Folder
      collectionQualifiedName - unique name of the AtlanCollection in which the Folder should be created
      parentQualifiedName - unique name of the Folder in which this Folder should be created (or null if it should be created directly in the collection)
      Returns:
      the minimal request necessary to create the Folder, as a builder
    • generateQualifiedName

      public static String generateQualifiedName(String name, String parentQualifiedName)
      Generate a unique Folder.
      Parameters:
      name - of the Folder
      parentQualifiedName - unique name of the collection or parent folder in which this Folder exists
      Returns:
      a unique name for the Folder
    • updater

      public static Folder.FolderBuilder<?,?> updater(String qualifiedName, String name)
      Builds the minimal object necessary to update a Folder.
      Parameters:
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the minimal request necessary to update the Folder, as a builder
    • trimToRequired

      public Folder.FolderBuilder<?,?> trimToRequired() throws InvalidRequestException
      Builds the minimal object necessary to apply an update to a Folder, from a potentially more-complete Folder object.
      Overrides:
      trimToRequired in class Asset
      Returns:
      the minimal object necessary to update the Folder, as a builder
      Throws:
      InvalidRequestException - if any of the minimal set of required properties for Folder are not found in the initial object
    • removeDescription

      public static Folder removeDescription(String qualifiedName, String name) throws AtlanException
      Remove the system description from a Folder.
      Parameters:
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeDescription

      public static Folder removeDescription(AtlanClient client, String qualifiedName, String name) throws AtlanException
      Remove the system description from a Folder.
      Parameters:
      client - connectivity to the Atlan tenant on which to remove the asset's description
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeUserDescription

      public static Folder removeUserDescription(String qualifiedName, String name) throws AtlanException
      Remove the user's description from a Folder.
      Parameters:
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeUserDescription

      public static Folder removeUserDescription(AtlanClient client, String qualifiedName, String name) throws AtlanException
      Remove the user's description from a Folder.
      Parameters:
      client - connectivity to the Atlan tenant on which to remove the asset's description
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeOwners

      public static Folder removeOwners(String qualifiedName, String name) throws AtlanException
      Remove the owners from a Folder.
      Parameters:
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeOwners

      public static Folder removeOwners(AtlanClient client, String qualifiedName, String name) throws AtlanException
      Remove the owners from a Folder.
      Parameters:
      client - connectivity to the Atlan tenant from which to remove the Folder's owners
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • updateCertificate

      public static Folder updateCertificate(String qualifiedName, CertificateStatus certificate, String message) throws AtlanException
      Update the certificate on a Folder.
      Parameters:
      qualifiedName - of the Folder
      certificate - to use
      message - (optional) message, or null if no message
      Returns:
      the updated Folder, or null if the update failed
      Throws:
      AtlanException - on any API problems
    • updateCertificate

      public static Folder updateCertificate(AtlanClient client, String qualifiedName, CertificateStatus certificate, String message) throws AtlanException
      Update the certificate on a Folder.
      Parameters:
      client - connectivity to the Atlan tenant on which to update the Folder's certificate
      qualifiedName - of the Folder
      certificate - to use
      message - (optional) message, or null if no message
      Returns:
      the updated Folder, or null if the update failed
      Throws:
      AtlanException - on any API problems
    • removeCertificate

      public static Folder removeCertificate(String qualifiedName, String name) throws AtlanException
      Remove the certificate from a Folder.
      Parameters:
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeCertificate

      public static Folder removeCertificate(AtlanClient client, String qualifiedName, String name) throws AtlanException
      Remove the certificate from a Folder.
      Parameters:
      client - connectivity to the Atlan tenant from which to remove the Folder's certificate
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • updateAnnouncement

      public static Folder updateAnnouncement(String qualifiedName, AtlanAnnouncementType type, String title, String message) throws AtlanException
      Update the announcement on a Folder.
      Parameters:
      qualifiedName - of the Folder
      type - type of announcement to set
      title - (optional) title of the announcement to set (or null for no title)
      message - (optional) message of the announcement to set (or null for no message)
      Returns:
      the result of the update, or null if the update failed
      Throws:
      AtlanException - on any API problems
    • updateAnnouncement

      public static Folder updateAnnouncement(AtlanClient client, String qualifiedName, AtlanAnnouncementType type, String title, String message) throws AtlanException
      Update the announcement on a Folder.
      Parameters:
      client - connectivity to the Atlan tenant on which to update the Folder's announcement
      qualifiedName - of the Folder
      type - type of announcement to set
      title - (optional) title of the announcement to set (or null for no title)
      message - (optional) message of the announcement to set (or null for no message)
      Returns:
      the result of the update, or null if the update failed
      Throws:
      AtlanException - on any API problems
    • removeAnnouncement

      public static Folder removeAnnouncement(String qualifiedName, String name) throws AtlanException
      Remove the announcement from a Folder.
      Parameters:
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • removeAnnouncement

      public static Folder removeAnnouncement(AtlanClient client, String qualifiedName, String name) throws AtlanException
      Remove the announcement from a Folder.
      Parameters:
      client - connectivity to the Atlan client from which to remove the Folder's announcement
      qualifiedName - of the Folder
      name - of the Folder
      Returns:
      the updated Folder, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • replaceTerms

      public static Folder replaceTerms(String qualifiedName, String name, List<IGlossaryTerm> terms) throws AtlanException
      Replace the terms linked to the Folder.
      Parameters:
      qualifiedName - for the Folder
      name - human-readable name of the Folder
      terms - the list of terms to replace on the Folder, or null to remove all terms from the Folder
      Returns:
      the Folder that was updated (note that it will NOT contain details of the replaced terms)
      Throws:
      AtlanException - on any API problems
    • replaceTerms

      public static Folder replaceTerms(AtlanClient client, String qualifiedName, String name, List<IGlossaryTerm> terms) throws AtlanException
      Replace the terms linked to the Folder.
      Parameters:
      client - connectivity to the Atlan tenant on which to replace the Folder's assigned terms
      qualifiedName - for the Folder
      name - human-readable name of the Folder
      terms - the list of terms to replace on the Folder, or null to remove all terms from the Folder
      Returns:
      the Folder that was updated (note that it will NOT contain details of the replaced terms)
      Throws:
      AtlanException - on any API problems
    • appendTerms

      public static Folder appendTerms(String qualifiedName, List<IGlossaryTerm> terms) throws AtlanException
      Link additional terms to the Folder, without replacing existing terms linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing terms, and a second to append the new terms.
      Parameters:
      qualifiedName - for the Folder
      terms - the list of terms to append to the Folder
      Returns:
      the Folder that was updated (note that it will NOT contain details of the appended terms)
      Throws:
      AtlanException - on any API problems
    • appendTerms

      public static Folder appendTerms(AtlanClient client, String qualifiedName, List<IGlossaryTerm> terms) throws AtlanException
      Link additional terms to the Folder, without replacing existing terms linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing terms, and a second to append the new terms.
      Parameters:
      client - connectivity to the Atlan tenant on which to append terms to the Folder
      qualifiedName - for the Folder
      terms - the list of terms to append to the Folder
      Returns:
      the Folder that was updated (note that it will NOT contain details of the appended terms)
      Throws:
      AtlanException - on any API problems
    • removeTerms

      public static Folder removeTerms(String qualifiedName, List<IGlossaryTerm> terms) throws AtlanException
      Remove terms from a Folder, without replacing all existing terms linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing terms, and a second to remove the provided terms.
      Parameters:
      qualifiedName - for the Folder
      terms - the list of terms to remove from the Folder, which must be referenced by GUID
      Returns:
      the Folder that was updated (note that it will NOT contain details of the resulting terms)
      Throws:
      AtlanException - on any API problems
    • removeTerms

      public static Folder removeTerms(AtlanClient client, String qualifiedName, List<IGlossaryTerm> terms) throws AtlanException
      Remove terms from a Folder, without replacing all existing terms linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing terms, and a second to remove the provided terms.
      Parameters:
      client - connectivity to the Atlan tenant from which to remove terms from the Folder
      qualifiedName - for the Folder
      terms - the list of terms to remove from the Folder, which must be referenced by GUID
      Returns:
      the Folder that was updated (note that it will NOT contain details of the resulting terms)
      Throws:
      AtlanException - on any API problems
    • appendAtlanTags

      public static Folder appendAtlanTags(String qualifiedName, List<String> atlanTagNames) throws AtlanException
      Add Atlan tags to a Folder, without replacing existing Atlan tags linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing Atlan tags, and a second to append the new Atlan tags.
      Parameters:
      qualifiedName - of the Folder
      atlanTagNames - human-readable names of the Atlan tags to add
      Returns:
      the updated Folder
      Throws:
      AtlanException - on any API problems
    • appendAtlanTags

      public static Folder appendAtlanTags(AtlanClient client, String qualifiedName, List<String> atlanTagNames) throws AtlanException
      Add Atlan tags to a Folder, without replacing existing Atlan tags linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing Atlan tags, and a second to append the new Atlan tags.
      Parameters:
      client - connectivity to the Atlan tenant on which to append Atlan tags to the Folder
      qualifiedName - of the Folder
      atlanTagNames - human-readable names of the Atlan tags to add
      Returns:
      the updated Folder
      Throws:
      AtlanException - on any API problems
    • appendAtlanTags

      public static Folder appendAtlanTags(String qualifiedName, List<String> atlanTagNames, boolean propagate, boolean removePropagationsOnDelete, boolean restrictLineagePropagation) throws AtlanException
      Add Atlan tags to a Folder, without replacing existing Atlan tags linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing Atlan tags, and a second to append the new Atlan tags.
      Parameters:
      qualifiedName - of the Folder
      atlanTagNames - human-readable names of the Atlan tags to add
      propagate - whether to propagate the Atlan tag (true) or not (false)
      removePropagationsOnDelete - whether to remove the propagated Atlan tags when the Atlan tag is removed from this asset (true) or not (false)
      restrictLineagePropagation - whether to avoid propagating through lineage (true) or do propagate through lineage (false)
      Returns:
      the updated Folder
      Throws:
      AtlanException - on any API problems
    • appendAtlanTags

      public static Folder appendAtlanTags(AtlanClient client, String qualifiedName, List<String> atlanTagNames, boolean propagate, boolean removePropagationsOnDelete, boolean restrictLineagePropagation) throws AtlanException
      Add Atlan tags to a Folder, without replacing existing Atlan tags linked to the Folder. Note: this operation must make two API calls — one to retrieve the Folder's existing Atlan tags, and a second to append the new Atlan tags.
      Parameters:
      client - connectivity to the Atlan tenant on which to append Atlan tags to the Folder
      qualifiedName - of the Folder
      atlanTagNames - human-readable names of the Atlan tags to add
      propagate - whether to propagate the Atlan tag (true) or not (false)
      removePropagationsOnDelete - whether to remove the propagated Atlan tags when the Atlan tag is removed from this asset (true) or not (false)
      restrictLineagePropagation - whether to avoid propagating through lineage (true) or do propagate through lineage (false)
      Returns:
      the updated Folder
      Throws:
      AtlanException - on any API problems
    • removeAtlanTag

      public static void removeAtlanTag(String qualifiedName, String atlanTagName) throws AtlanException
      Remove an Atlan tag from a Folder.
      Parameters:
      qualifiedName - of the Folder
      atlanTagName - human-readable name of the Atlan tag to remove
      Throws:
      AtlanException - on any API problems, or if the Atlan tag does not exist on the Folder
    • removeAtlanTag

      public static void removeAtlanTag(AtlanClient client, String qualifiedName, String atlanTagName) throws AtlanException
      Remove an Atlan tag from a Folder.
      Parameters:
      client - connectivity to the Atlan tenant from which to remove an Atlan tag from a Folder
      qualifiedName - of the Folder
      atlanTagName - human-readable name of the Atlan tag to remove
      Throws:
      AtlanException - on any API problems, or if the Atlan tag does not exist on the Folder
    • _internal

      public static Folder.FolderBuilder<?,?> _internal()
    • toBuilder

      public Folder.FolderBuilder<?,?> toBuilder()
      Overrides:
      toBuilder in class Reference
    • getChildrenFolders

      public SortedSet<IFolder> getChildrenFolders()
      Folders that exist within this namespace.
      Specified by:
      getChildrenFolders in interface IFolder
      Specified by:
      getChildrenFolders in interface INamespace
    • getChildrenQueries

      public SortedSet<IAtlanQuery> getChildrenQueries()
      Queries that exist within this namespace.
      Specified by:
      getChildrenQueries in interface IFolder
      Specified by:
      getChildrenQueries in interface INamespace
    • getCollectionQualifiedName

      public String getCollectionQualifiedName()
      Unique name of the collection in which this folder exists.
      Specified by:
      getCollectionQualifiedName in interface IFolder
    • getParent

      public INamespace getParent()
      Namespace in which this folder exists.
      Specified by:
      getParent in interface IFolder
    • getParentQualifiedName

      public String getParentQualifiedName()
      Unique name of the parent folder or collection in which this folder exists.
      Specified by:
      getParentQualifiedName in interface IFolder
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Asset
    • canEqual

      protected boolean canEqual(Object other)
      Overrides:
      canEqual in class Asset
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Asset
    • toString

      public String toString()
      Description copied from class: AtlanObject
      Overrides:
      toString in class Asset
    • getTypeName

      public String getTypeName()
      Fixed typeName for Folders.
      Specified by:
      getTypeName in interface AuditDetail
      Specified by:
      getTypeName in interface IAsset
      Specified by:
      getTypeName in interface IFolder
      Specified by:
      getTypeName in interface INamespace
      Specified by:
      getTypeName in interface IReferenceable
      Overrides:
      getTypeName in class Reference