Class SharedContentLinkMetadata

java.lang.Object
com.dropbox.core.v2.sharing.SharedContentLinkMetadataBase
com.dropbox.core.v2.sharing.SharedContentLinkMetadata

public class SharedContentLinkMetadata extends SharedContentLinkMetadataBase
Metadata of a shared link for a file or folder.
  • Field Details

    • audienceExceptions

      @Nullable protected final AudienceExceptions audienceExceptions
    • url

      @Nonnull protected final String url
  • Constructor Details

    • SharedContentLinkMetadata

      public SharedContentLinkMetadata(@Nonnull List<LinkAudience> audienceOptions, @Nonnull LinkAudience currentAudience, @Nonnull List<LinkPermission> linkPermissions, boolean passwordProtected, @Nonnull String url, @Nullable AccessLevel accessLevel, @Nullable AudienceRestrictingSharedFolder audienceRestrictingSharedFolder, @Nullable Date expiry, @Nullable AudienceExceptions audienceExceptions)
      Metadata of a shared link for a file or folder.

      Use newBuilder(java.util.List<com.dropbox.core.v2.sharing.LinkAudience>,com.dropbox.core.v2.sharing.LinkAudience,java.util.List<com.dropbox.core.v2.sharing.LinkPermission>,boolean,java.lang.String) to create instances of this class without specifying values for all optional fields.

      Parameters:
      audienceOptions - The audience options that are available for the content. Some audience options may be unavailable. For example, team_only may be unavailable if the content is not owned by a user on a team. The 'default' audience option is always available if the user can modify link settings. Must not contain a null item and not be null.
      currentAudience - The current audience of the link. Must not be null.
      linkPermissions - A list of permissions for actions you can perform on the link. Must not contain a null item and not be null.
      passwordProtected - Whether the link is protected by a password.
      url - The URL of the link. Must not be null.
      accessLevel - The access level on the link for this file.
      audienceRestrictingSharedFolder - The shared folder that prevents the link audience for this link from being more restrictive.
      expiry - Whether the link has an expiry set on it. A link with an expiry will have its audience changed to members when the expiry is reached.
      audienceExceptions - The content inside this folder with link audience different than this folder's. This is only returned when an endpoint that returns metadata for a single shared folder is called, e.g. /get_folder_metadata.
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
    • SharedContentLinkMetadata

      public SharedContentLinkMetadata(@Nonnull List<LinkAudience> audienceOptions, @Nonnull LinkAudience currentAudience, @Nonnull List<LinkPermission> linkPermissions, boolean passwordProtected, @Nonnull String url)
      Metadata of a shared link for a file or folder.

      The default values for unset fields will be used.

      Parameters:
      audienceOptions - The audience options that are available for the content. Some audience options may be unavailable. For example, team_only may be unavailable if the content is not owned by a user on a team. The 'default' audience option is always available if the user can modify link settings. Must not contain a null item and not be null.
      currentAudience - The current audience of the link. Must not be null.
      linkPermissions - A list of permissions for actions you can perform on the link. Must not contain a null item and not be null.
      passwordProtected - Whether the link is protected by a password.
      url - The URL of the link. Must not be null.
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
  • Method Details

    • getAudienceOptions

      @Nonnull public List<LinkAudience> getAudienceOptions()
      The audience options that are available for the content. Some audience options may be unavailable. For example, team_only may be unavailable if the content is not owned by a user on a team. The 'default' audience option is always available if the user can modify link settings.
      Overrides:
      getAudienceOptions in class SharedContentLinkMetadataBase
      Returns:
      value for this field, never null.
    • getCurrentAudience

      @Nonnull public LinkAudience getCurrentAudience()
      The current audience of the link.
      Overrides:
      getCurrentAudience in class SharedContentLinkMetadataBase
      Returns:
      value for this field, never null.
    • getLinkPermissions

      @Nonnull public List<LinkPermission> getLinkPermissions()
      A list of permissions for actions you can perform on the link.
      Overrides:
      getLinkPermissions in class SharedContentLinkMetadataBase
      Returns:
      value for this field, never null.
    • getPasswordProtected

      public boolean getPasswordProtected()
      Whether the link is protected by a password.
      Overrides:
      getPasswordProtected in class SharedContentLinkMetadataBase
      Returns:
      value for this field.
    • getUrl

      @Nonnull public String getUrl()
      The URL of the link.
      Returns:
      value for this field, never null.
    • getAccessLevel

      @Nullable public AccessLevel getAccessLevel()
      The access level on the link for this file.
      Overrides:
      getAccessLevel in class SharedContentLinkMetadataBase
      Returns:
      value for this field, or null if not present.
    • getAudienceRestrictingSharedFolder

      @Nullable public AudienceRestrictingSharedFolder getAudienceRestrictingSharedFolder()
      The shared folder that prevents the link audience for this link from being more restrictive.
      Overrides:
      getAudienceRestrictingSharedFolder in class SharedContentLinkMetadataBase
      Returns:
      value for this field, or null if not present.
    • getExpiry

      @Nullable public Date getExpiry()
      Whether the link has an expiry set on it. A link with an expiry will have its audience changed to members when the expiry is reached.
      Overrides:
      getExpiry in class SharedContentLinkMetadataBase
      Returns:
      value for this field, or null if not present.
    • getAudienceExceptions

      @Nullable public AudienceExceptions getAudienceExceptions()
      The content inside this folder with link audience different than this folder's. This is only returned when an endpoint that returns metadata for a single shared folder is called, e.g. /get_folder_metadata.
      Returns:
      value for this field, or null if not present.
    • newBuilder

      public static SharedContentLinkMetadata.Builder newBuilder(List<LinkAudience> audienceOptions, LinkAudience currentAudience, List<LinkPermission> linkPermissions, boolean passwordProtected, String url)
      Returns a new builder for creating an instance of this class.
      Parameters:
      audienceOptions - The audience options that are available for the content. Some audience options may be unavailable. For example, team_only may be unavailable if the content is not owned by a user on a team. The 'default' audience option is always available if the user can modify link settings. Must not contain a null item and not be null.
      currentAudience - The current audience of the link. Must not be null.
      linkPermissions - A list of permissions for actions you can perform on the link. Must not contain a null item and not be null.
      passwordProtected - Whether the link is protected by a password.
      url - The URL of the link. Must not be null.
      Returns:
      builder for this class.
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class SharedContentLinkMetadataBase
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class SharedContentLinkMetadataBase
    • toString

      public String toString()
      Overrides:
      toString in class SharedContentLinkMetadataBase
    • toStringMultiline

      public String toStringMultiline()
      Returns a String representation of this object formatted for easier readability.

      The returned String may contain newlines.

      Overrides:
      toStringMultiline in class SharedContentLinkMetadataBase
      Returns:
      Formatted, multiline String representation of this object