Class WorkflowNotification

All Implemented Interfaces:
IAsset, INotification, IReferenceable, IWorkflowNotification, AuditDetail, Serializable, Comparable<Reference>

@Generated("com.atlan.generators.ModelGeneratorV2") public class WorkflowNotification extends Asset implements IWorkflowNotification, INotification, IAsset, IReferenceable
A notification about an Atlan app workflow. The only notification type created today, and the one every future workflow-related notification should use.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • trimToReference

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

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

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

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

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

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

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

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

      public static WorkflowNotification get(AtlanClient client, String id, boolean includeAllRelationships) throws AtlanException
      Retrieves a WorkflowNotification 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 WorkflowNotification to retrieve, either its GUID or its full qualifiedName
      includeAllRelationships - if true, all the asset's relationships will also be retrieved; if false, no relationships will be retrieved
      Returns:
      the requested full WorkflowNotification, optionally complete with all of its relationships
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the WorkflowNotification does not exist or the provided GUID is not a WorkflowNotification
    • get

      public static WorkflowNotification get(AtlanClient client, String id, Collection<AtlanField> attributes) throws AtlanException
      Retrieves a WorkflowNotification by one of its identifiers, with only the requested attributes (and relationships).
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the asset
      id - of the WorkflowNotification to retrieve, either its GUID or its full qualifiedName
      attributes - to retrieve for the WorkflowNotification, including any relationships
      Returns:
      the requested WorkflowNotification, with only its minimal information and the requested attributes (and relationships)
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the WorkflowNotification does not exist or the provided GUID is not a WorkflowNotification
    • get

      public static WorkflowNotification get(AtlanClient client, String id, Collection<AtlanField> attributes, Collection<AtlanField> attributesOnRelated) throws AtlanException
      Retrieves a WorkflowNotification by one of its identifiers, with only the requested attributes (and relationships).
      Parameters:
      client - connectivity to the Atlan tenant from which to retrieve the asset
      id - of the WorkflowNotification to retrieve, either its GUID or its full qualifiedName
      attributes - to retrieve for the WorkflowNotification, including any relationships
      attributesOnRelated - to retrieve on each relationship retrieved for the WorkflowNotification
      Returns:
      the requested WorkflowNotification, with only its minimal information and the requested attributes (and relationships)
      Throws:
      AtlanException - on any error during the API invocation, such as the NotFoundException if the WorkflowNotification does not exist or the provided GUID is not a WorkflowNotification
    • restore

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

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

      Builds the minimal object necessary to apply an update to a WorkflowNotification, from a potentially more-complete WorkflowNotification object.
      Overrides:
      trimToRequired in class Asset
      Returns:
      the minimal object necessary to update the WorkflowNotification, as a builder
      Throws:
      InvalidRequestException - if any of the minimal set of required fields for a WorkflowNotification are not present in the initial object
    • removeDescription

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

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

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

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

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

      public static WorkflowNotification updateAnnouncement(AtlanClient client, String qualifiedName, AtlanAnnouncementType type, String title, String message) throws AtlanException
      Update the announcement on a WorkflowNotification.
      Parameters:
      client - connectivity to the Atlan tenant on which to update the WorkflowNotification's announcement
      qualifiedName - of the WorkflowNotification
      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 WorkflowNotification removeAnnouncement(AtlanClient client, String qualifiedName, String name) throws AtlanException
      Remove the announcement from a WorkflowNotification.
      Parameters:
      client - connectivity to the Atlan client from which to remove the WorkflowNotification's announcement
      qualifiedName - of the WorkflowNotification
      name - of the WorkflowNotification
      Returns:
      the updated WorkflowNotification, or null if the removal failed
      Throws:
      AtlanException - on any API problems
    • replaceTerms

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

      @Deprecated public static WorkflowNotification appendTerms(AtlanClient client, String qualifiedName, List<IGlossaryTerm> terms) throws AtlanException
      Link additional terms to the WorkflowNotification, without replacing existing terms linked to the WorkflowNotification. Note: this operation must make two API calls — one to retrieve the WorkflowNotification'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 WorkflowNotification
      qualifiedName - for the WorkflowNotification
      terms - the list of terms to append to the WorkflowNotification
      Returns:
      the WorkflowNotification that was updated (note that it will NOT contain details of the appended terms)
      Throws:
      AtlanException - on any API problems
    • removeTerms

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

      @Deprecated public static WorkflowNotification appendAtlanTags(AtlanClient client, String qualifiedName, List<String> atlanTagNames) throws AtlanException
      Add Atlan tags to a WorkflowNotification, without replacing existing Atlan tags linked to the WorkflowNotification. Note: this operation must make two API calls — one to retrieve the WorkflowNotification'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 WorkflowNotification
      qualifiedName - of the WorkflowNotification
      atlanTagNames - human-readable names of the Atlan tags to add
      Returns:
      the updated WorkflowNotification
      Throws:
      AtlanException - on any API problems
    • appendAtlanTags

      @Deprecated public static WorkflowNotification appendAtlanTags(AtlanClient client, String qualifiedName, List<String> atlanTagNames, boolean propagate, boolean removePropagationsOnDelete, boolean restrictLineagePropagation) throws AtlanException
      Add Atlan tags to a WorkflowNotification, without replacing existing Atlan tags linked to the WorkflowNotification. Note: this operation must make two API calls — one to retrieve the WorkflowNotification'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 WorkflowNotification
      qualifiedName - of the WorkflowNotification
      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 WorkflowNotification
      Throws:
      AtlanException - on any API problems
    • removeAtlanTag

      @Deprecated public static void removeAtlanTag(AtlanClient client, String qualifiedName, String atlanTagName) throws AtlanException
      Remove an Atlan tag from a WorkflowNotification.
      Parameters:
      client - connectivity to the Atlan tenant from which to remove an Atlan tag from a WorkflowNotification
      qualifiedName - of the WorkflowNotification
      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 WorkflowNotification
    • _internal

      public static WorkflowNotification.WorkflowNotificationBuilder<?,?> _internal()
    • toBuilder

      Overrides:
      toBuilder in class Reference
    • getNotificationExternalReferences

      public List<NotificationExternalReference> getNotificationExternalReferences()
      Where this notification also lives outside Atlan, one entry per surface. This is what lets an action taken in the inbox go back and update the message it came from.
      Specified by:
      getNotificationExternalReferences in interface INotification
      Specified by:
      getNotificationExternalReferences in interface IWorkflowNotification
    • getNotificationLastActedAt

      public Long getNotificationLastActedAt()
      When a person last moved the state. Read against the creation timestamp this gives time to resolution.
      Specified by:
      getNotificationLastActedAt in interface INotification
      Specified by:
      getNotificationLastActedAt in interface IWorkflowNotification
    • getNotificationLastActedBy

      public String getNotificationLastActedBy()
      Username of the person who last moved the state. Declared separately because the write is service-mediated, so the entity's own modifier records the service and not the person.
      Specified by:
      getNotificationLastActedBy in interface INotification
      Specified by:
      getNotificationLastActedBy in interface IWorkflowNotification
    • getNotificationLastActedReason

      public String getNotificationLastActedReason()
      Reason or note the person gave for the last action. Mandatory for some actions and optional for others, so it is free text rather than a code.
      Specified by:
      getNotificationLastActedReason in interface INotification
      Specified by:
      getNotificationLastActedReason in interface IWorkflowNotification
    • getNotificationRecipientGroups

      public SortedSet<String> getNotificationRecipientGroups()
      Identifiers of the Atlan groups the notification is meant for. A group outlives its members, so a rule addressing a group stays generic as people join and leave.
      Specified by:
      getNotificationRecipientGroups in interface INotification
      Specified by:
      getNotificationRecipientGroups in interface IWorkflowNotification
    • getNotificationRecipientRoles

      public SortedSet<String> getNotificationRecipientRoles()
      Identifiers of the Atlan roles that need to see the notification. Resolved to individuals by the interface at read time rather than stored.
      Specified by:
      getNotificationRecipientRoles in interface INotification
      Specified by:
      getNotificationRecipientRoles in interface IWorkflowNotification
    • getNotificationRecipientUsers

      public SortedSet<String> getNotificationRecipientUsers()
      Usernames the notification was addressed to. Drives the assigned-to-me view together with the group and role recipients.
      Specified by:
      getNotificationRecipientUsers in interface INotification
      Specified by:
      getNotificationRecipientUsers in interface IWorkflowNotification
    • getNotificationState

      public NotificationState getNotificationState()
      Where the notification is in its lifecycle. Also how a check decides whether a live notification already exists before raising another.
      Specified by:
      getNotificationState in interface INotification
      Specified by:
      getNotificationState in interface IWorkflowNotification
    • getWorkflowNotificationAction

      public WorkflowNotificationAction getWorkflowNotificationAction()
      Which option the person took. Declared here rather than on the notification supertype because these values only mean anything for a workflow.
      Specified by:
      getWorkflowNotificationAction in interface IWorkflowNotification
    • getWorkflowNotificationLastPreflightFailedAt

      public Long getWorkflowNotificationLastPreflightFailedAt()
      When the check last failed. Distinct from when it was last checked, which every write already records.
      Specified by:
      getWorkflowNotificationLastPreflightFailedAt in interface IWorkflowNotification
    • getWorkflowNotificationLastPreflightResult

      public String getWorkflowNotificationLastPreflightResult()
      The whole check response as one escaped JSON string, rewritten on every check while the notification is live. Rendered by the widget the interface already has, so nothing is denormalised into attributes.
      Specified by:
      getWorkflowNotificationLastPreflightResult in interface IWorkflowNotification
    • getWorkflowNotificationPreflightFailureCount

      public Integer getWorkflowNotificationPreflightFailureCount()
      How many times the check has failed for this notification, counted from the failures that raised it and incremented on every failure since.
      Specified by:
      getWorkflowNotificationPreflightFailureCount in interface IWorkflowNotification
    • getWorkflowNotificationWorkflow

      public IAtlanAppWorkflow getWorkflowNotificationWorkflow()
      The workflow this notification is about.
      Specified by:
      getWorkflowNotificationWorkflow in interface IWorkflowNotification
    • getWorkflowNotificationWorkflowSlug

      public String getWorkflowNotificationWorkflowSlug()
      Slug of the workflow this notification is about. What grouping by workflow groups on, and how a check finds the live notification before deciding whether to raise another.
      Specified by:
      getWorkflowNotificationWorkflowSlug in interface IWorkflowNotification
    • 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 WorkflowNotifications.
      Specified by:
      getTypeName in interface AuditDetail
      Specified by:
      getTypeName in interface IAsset
      Specified by:
      getTypeName in interface INotification
      Specified by:
      getTypeName in interface IReferenceable
      Specified by:
      getTypeName in interface IWorkflowNotification
      Overrides:
      getTypeName in class Reference