Class Link

All Implemented Interfaces:
IAsset, ICatalog, ILink, IReferenceable, IResource, AuditDetail, Serializable, Comparable<Reference>

@Generated("com.atlan.generators.ModelGeneratorV2") public class Link extends Asset implements ILink, IResource, ICatalog, IAsset, IReferenceable
Instance of a link in Atlan.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • trimToReference

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

      public static FluentSearch.FluentSearchBuilder<?,?> select()
      Start a fluent search that will return all Link 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) Link assets will be included.
      Returns:
      a fluent search that includes all Link assets
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select(AtlanClient client)
      Start a fluent search that will return all Link 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) Link assets will be included.
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the assets
      Returns:
      a fluent search that includes all Link assets
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select(boolean includeArchived)
      Start a fluent search that will return all Link 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) Links will be included
      Returns:
      a fluent search that includes all Link assets
    • select

      public static FluentSearch.FluentSearchBuilder<?,?> select(AtlanClient client, boolean includeArchived)
      Start a fluent search that will return all Link 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) Links will be included
      Returns:
      a fluent search that includes all Link assets
    • refByGuid

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

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

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

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

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

      public static Link get(AtlanClient client, String id) throws AtlanException
      Retrieves a Link 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 Link to retrieve, either its GUID or its full qualifiedName
      Returns:
      the requested full Link, complete with all of its relationships
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the Link does not exist or the provided GUID is not a Link
    • get

      public static Link get(AtlanClient client, String id, boolean includeRelationships) throws AtlanException
      Retrieves a Link 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 Link 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 Link, optionally complete with all of its relationships
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the Link does not exist or the provided GUID is not a Link
    • restore

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

      public static Link.LinkBuilder<?,?> creator(Asset reference, String title, String url) throws InvalidRequestException
      Builds the minimal object necessary to update a Link.
      Parameters:
      reference - a reference to the asset to which the Link should be attached
      title - for the Link
      url - of the Link
      Returns:
      the minimal object necessary to create the Link and attach it to the asset, as a builder
      Throws:
      InvalidRequestException - if the provided asset reference is missing any required information
    • creator

      public static Link.LinkBuilder<?,?> creator(Asset reference, String title, String url, boolean idempotent) throws InvalidRequestException
      Builds the minimal object necessary to update a Link.
      Parameters:
      reference - a reference to the asset to which the Link should be attached
      title - for the Link
      url - of the Link
      idempotent - if true, creates the link such that its title is unique against the provided asset (making it easier to update the link), otherwise will create a link whose title need not be unique on the asset
      Returns:
      the minimal object necessary to create the Link and attach it to the asset, as a builder
      Throws:
      InvalidRequestException - if the provided asset reference is missing any required information
    • updater

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

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

      public static String generateQualifiedName(String assetQualifiedName, String title)
      Generate a unique link name. Note: while the UI allows you to create any number of links with the same title on a single asset, using this will ensure there is only a single link with a given title on an asset (and will replace any such existing link if it already exists).
      Parameters:
      assetQualifiedName - unique name of the asset the link is being related to
      title - unique title to give to the link
      Returns:
      a unique name for the link
    • removeDescription

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

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

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

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

      public static Link.LinkBuilder<?,?> _internal()
    • toBuilder

      public Link.LinkBuilder<?,?> toBuilder()
      Overrides:
      toBuilder in class Reference
    • getApplicationContainer

      public IApplicationContainer getApplicationContainer()
      ApplicationContainer asset containing this Catalog asset.
      Specified by:
      getApplicationContainer in interface ICatalog
      Specified by:
      getApplicationContainer in interface ILink
      Specified by:
      getApplicationContainer in interface IResource
    • getAsset

      public IAsset getAsset()
      Asset to which the link is attached.
      Specified by:
      getAsset in interface ILink
    • getAssetApplicationQualifiedName

      public String getAssetApplicationQualifiedName()
      Qualified name of the Application Container that contains this asset.
      Specified by:
      getAssetApplicationQualifiedName in interface ICatalog
      Specified by:
      getAssetApplicationQualifiedName in interface ILink
      Specified by:
      getAssetApplicationQualifiedName in interface IResource
    • getIcon

      public String getIcon()
      Icon for the link.
      Specified by:
      getIcon in interface ILink
    • getIconType

      public IconType getIconType()
      Type of icon for the link, for example: image or emoji.
      Specified by:
      getIconType in interface ILink
    • getInputToAirflowTasks

      public SortedSet<IAirflowTask> getInputToAirflowTasks()
      Tasks to which this asset provides input.
      Specified by:
      getInputToAirflowTasks in interface ICatalog
      Specified by:
      getInputToAirflowTasks in interface ILink
      Specified by:
      getInputToAirflowTasks in interface IResource
    • getInputToProcesses

      public SortedSet<ILineageProcess> getInputToProcesses()
      Processes to which this asset provides input.
      Specified by:
      getInputToProcesses in interface ICatalog
      Specified by:
      getInputToProcesses in interface ILink
      Specified by:
      getInputToProcesses in interface IResource
    • getInputToSparkJobs

      public SortedSet<ISparkJob> getInputToSparkJobs()
      TBC
      Specified by:
      getInputToSparkJobs in interface ICatalog
      Specified by:
      getInputToSparkJobs in interface ILink
      Specified by:
      getInputToSparkJobs in interface IResource
    • getIsGlobal

      public Boolean getIsGlobal()
      Whether the resource is global (true) or not (false).
      Specified by:
      getIsGlobal in interface ILink
      Specified by:
      getIsGlobal in interface IResource
    • getLink

      public String getLink()
      URL to the resource.
      Specified by:
      getLink in interface ILink
      Specified by:
      getLink in interface IResource
    • getModelImplementedEntities

      public SortedSet<IModelEntity> getModelImplementedEntities()
      Entities implemented by this asset.
      Specified by:
      getModelImplementedEntities in interface ICatalog
      Specified by:
      getModelImplementedEntities in interface ILink
      Specified by:
      getModelImplementedEntities in interface IResource
    • getOutputFromAirflowTasks

      public SortedSet<IAirflowTask> getOutputFromAirflowTasks()
      Tasks from which this asset is output.
      Specified by:
      getOutputFromAirflowTasks in interface ICatalog
      Specified by:
      getOutputFromAirflowTasks in interface ILink
      Specified by:
      getOutputFromAirflowTasks in interface IResource
    • getOutputFromProcesses

      public SortedSet<ILineageProcess> getOutputFromProcesses()
      Processes from which this asset is produced as output.
      Specified by:
      getOutputFromProcesses in interface ICatalog
      Specified by:
      getOutputFromProcesses in interface ILink
      Specified by:
      getOutputFromProcesses in interface IResource
    • getOutputFromSparkJobs

      public SortedSet<ISparkJob> getOutputFromSparkJobs()
      TBC
      Specified by:
      getOutputFromSparkJobs in interface ICatalog
      Specified by:
      getOutputFromSparkJobs in interface ILink
      Specified by:
      getOutputFromSparkJobs in interface IResource
    • getReference

      public String getReference()
      Reference to the resource.
      Specified by:
      getReference in interface ILink
      Specified by:
      getReference in interface IResource
    • getResourceMetadata

      public Map<String,String> getResourceMetadata()
      Metadata of the resource.
      Specified by:
      getResourceMetadata in interface ILink
      Specified by:
      getResourceMetadata in interface IResource
    • 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 Links.
      Specified by:
      getTypeName in interface AuditDetail
      Specified by:
      getTypeName in interface IAsset
      Specified by:
      getTypeName in interface ICatalog
      Specified by:
      getTypeName in interface ILink
      Specified by:
      getTypeName in interface IReferenceable
      Specified by:
      getTypeName in interface IResource
      Overrides:
      getTypeName in class Reference