Class LinkPermissions.Builder

java.lang.Object
com.dropbox.core.v2.sharing.LinkPermissions.Builder
Enclosing class:
LinkPermissions

public static class LinkPermissions.Builder extends Object
Builder for LinkPermissions.
  • Field Details

    • canRevoke

      protected final boolean canRevoke
    • visibilityPolicies

      protected final List<VisibilityPolicy> visibilityPolicies
    • canSetExpiry

      protected final boolean canSetExpiry
    • canRemoveExpiry

      protected final boolean canRemoveExpiry
    • allowDownload

      protected final boolean allowDownload
    • canAllowDownload

      protected final boolean canAllowDownload
    • canDisallowDownload

      protected final boolean canDisallowDownload
    • allowComments

      protected final boolean allowComments
    • teamRestrictsComments

      protected final boolean teamRestrictsComments
    • resolvedVisibility

      protected ResolvedVisibility resolvedVisibility
    • requestedVisibility

      protected RequestedVisibility requestedVisibility
    • revokeFailureReason

      protected SharedLinkAccessFailureReason revokeFailureReason
    • effectiveAudience

      protected LinkAudience effectiveAudience
    • linkAccessLevel

      protected LinkAccessLevel linkAccessLevel
    • audienceOptions

      protected List<LinkAudienceOption> audienceOptions
    • canSetPassword

      protected Boolean canSetPassword
    • canRemovePassword

      protected Boolean canRemovePassword
    • requirePassword

      protected Boolean requirePassword
    • canUseExtendedSharingControls

      protected Boolean canUseExtendedSharingControls
    • canSync

      protected Boolean canSync
    • canRequestAccess

      protected Boolean canRequestAccess
    • enforceSharedLinkPasswordPolicy

      protected EnforceLinkPasswordPolicy enforceSharedLinkPasswordPolicy
    • daysToExpirePolicy

      protected DefaultLinkExpirationDaysPolicy daysToExpirePolicy
    • changeSharedLinkExpirationPolicy

      protected ChangeLinkExpirationPolicy changeSharedLinkExpirationPolicy
  • Constructor Details

    • Builder

      protected Builder(boolean canRevoke, List<VisibilityPolicy> visibilityPolicies, boolean canSetExpiry, boolean canRemoveExpiry, boolean allowDownload, boolean canAllowDownload, boolean canDisallowDownload, boolean allowComments, boolean teamRestrictsComments)
  • Method Details

    • withResolvedVisibility

      public LinkPermissions.Builder withResolvedVisibility(ResolvedVisibility resolvedVisibility)
      Set value for optional field.
      Parameters:
      resolvedVisibility - The current visibility of the link after considering the shared links policies of the the team (in case the link's owner is part of a team) and the shared folder (in case the linked file is part of a shared folder). This field is shown only if the caller has access to this info (the link's owner always has access to this data). For some links, an effective_audience value is returned instead.
      Returns:
      this builder
    • withRequestedVisibility

      public LinkPermissions.Builder withRequestedVisibility(RequestedVisibility requestedVisibility)
      Set value for optional field.
      Parameters:
      requestedVisibility - The shared link's requested visibility. This can be overridden by the team and shared folder policies. The final visibility, after considering these policies, can be found in LinkPermissions.getResolvedVisibility(). This is shown only if the caller is the link's owner and resolved_visibility is returned instead of effective_audience.
      Returns:
      this builder
    • withRevokeFailureReason

      public LinkPermissions.Builder withRevokeFailureReason(SharedLinkAccessFailureReason revokeFailureReason)
      Set value for optional field.
      Parameters:
      revokeFailureReason - The failure reason for revoking the link. This field will only be present if the LinkPermissions.getCanRevoke() is false.
      Returns:
      this builder
    • withEffectiveAudience

      public LinkPermissions.Builder withEffectiveAudience(LinkAudience effectiveAudience)
      Set value for optional field.
      Parameters:
      effectiveAudience - The type of audience who can benefit from the access level specified by the `link_access_level` field.
      Returns:
      this builder
    • withLinkAccessLevel

      public LinkPermissions.Builder withLinkAccessLevel(LinkAccessLevel linkAccessLevel)
      Set value for optional field.
      Parameters:
      linkAccessLevel - The access level that the link will grant to its users. A link can grant additional rights to a user beyond their current access level. For example, if a user was invited as a viewer to a file, and then opens a link with `link_access_level` set to `editor`, then they will gain editor privileges. The `link_access_level` is a property of the link, and does not depend on who is calling this API. In particular, `link_access_level` does not take into account the API caller's current permissions to the content.
      Returns:
      this builder
    • withAudienceOptions

      public LinkPermissions.Builder withAudienceOptions(List<LinkAudienceOption> audienceOptions)
      Set value for optional field.
      Parameters:
      audienceOptions - A list of link audience options the user might be able to set as the new audience. Must not contain a null item.
      Returns:
      this builder
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
    • withCanSetPassword

      public LinkPermissions.Builder withCanSetPassword(Boolean canSetPassword)
      Set value for optional field.
      Parameters:
      canSetPassword - Whether the user can set a password for the link.
      Returns:
      this builder
    • withCanRemovePassword

      public LinkPermissions.Builder withCanRemovePassword(Boolean canRemovePassword)
      Set value for optional field.
      Parameters:
      canRemovePassword - Whether the user can remove the password of the link.
      Returns:
      this builder
    • withRequirePassword

      public LinkPermissions.Builder withRequirePassword(Boolean requirePassword)
      Set value for optional field.
      Parameters:
      requirePassword - Whether the user is required to provide a password to view the link.
      Returns:
      this builder
    • withCanUseExtendedSharingControls

      public LinkPermissions.Builder withCanUseExtendedSharingControls(Boolean canUseExtendedSharingControls)
      Set value for optional field.
      Parameters:
      canUseExtendedSharingControls - Whether the user can use extended sharing controls, based on their account type.
      Returns:
      this builder
    • withCanSync

      public LinkPermissions.Builder withCanSync(Boolean canSync)
      Set value for optional field.
      Parameters:
      canSync - Whether a user can save the content to their Dropbox account.
      Returns:
      this builder
    • withCanRequestAccess

      public LinkPermissions.Builder withCanRequestAccess(Boolean canRequestAccess)
      Set value for optional field.
      Parameters:
      canRequestAccess - Whether the user can request access to the content.
      Returns:
      this builder
    • withEnforceSharedLinkPasswordPolicy

      public LinkPermissions.Builder withEnforceSharedLinkPasswordPolicy(EnforceLinkPasswordPolicy enforceSharedLinkPasswordPolicy)
      Set value for optional field.
      Parameters:
      enforceSharedLinkPasswordPolicy - Whether the updated externally available shared link must have password set. Not provided if the link is not team owned.
      Returns:
      this builder
    • withDaysToExpirePolicy

      public LinkPermissions.Builder withDaysToExpirePolicy(DefaultLinkExpirationDaysPolicy daysToExpirePolicy)
      Set value for optional field.
      Parameters:
      daysToExpirePolicy - Existing owning team's policy for default number of days from today to link's expiration. Not provided if the link is not team owned.
      Returns:
      this builder
    • withChangeSharedLinkExpirationPolicy

      public LinkPermissions.Builder withChangeSharedLinkExpirationPolicy(ChangeLinkExpirationPolicy changeSharedLinkExpirationPolicy)
      Set value for optional field.
      Parameters:
      changeSharedLinkExpirationPolicy - When owning team's policy LinkPermissions.getChangeSharedLinkExpirationPolicy() is ChangeLinkExpirationPolicy.NOT_ALLOWED, the updated externally available shared link expiration value cannot be less strict than LinkPermissions.getDaysToExpirePolicy(). In this case LinkPermissions.getDaysToExpirePolicy() is expected to be different from `none`. Not provided if the link is not team owned.
      Returns:
      this builder
    • build

      public LinkPermissions build()
      Builds an instance of LinkPermissions configured with this builder's values
      Returns:
      new instance of LinkPermissions