Class FileMetadata

java.lang.Object
com.dropbox.core.v2.files.Metadata
com.dropbox.core.v2.files.FileMetadata

public class FileMetadata extends Metadata
  • Field Details

    • id

      @Nonnull protected final String id
    • clientModified

      @Nonnull protected final Date clientModified
    • serverModified

      @Nonnull protected final Date serverModified
    • rev

      @Nonnull protected final String rev
    • size

      protected final long size
    • mediaInfo

      @Nullable protected final MediaInfo mediaInfo
    • symlinkInfo

      @Nullable protected final SymlinkInfo symlinkInfo
    • sharingInfo

      @Nullable protected final FileSharingInfo sharingInfo
    • isDownloadable

      protected final boolean isDownloadable
    • exportInfo

      @Nullable protected final ExportInfo exportInfo
    • propertyGroups

      @Nullable protected final List<PropertyGroup> propertyGroups
    • hasExplicitSharedMembers

      @Nullable protected final Boolean hasExplicitSharedMembers
    • contentHash

      @Nullable protected final String contentHash
    • fileLockInfo

      @Nullable protected final FileLockMetadata fileLockInfo
  • Constructor Details

    • FileMetadata

      public FileMetadata(@Nonnull String name, @Nonnull String id, @Nonnull Date clientModified, @Nonnull Date serverModified, @Nonnull String rev, long size, @Nullable String pathLower, @Nullable String pathDisplay, @Nullable String parentSharedFolderId, @Nullable String previewUrl, @Nullable MediaInfo mediaInfo, @Nullable SymlinkInfo symlinkInfo, @Nullable FileSharingInfo sharingInfo, boolean isDownloadable, @Nullable ExportInfo exportInfo, @Nullable List<PropertyGroup> propertyGroups, @Nullable Boolean hasExplicitSharedMembers, @Nullable String contentHash, @Nullable FileLockMetadata fileLockInfo)
      Use newBuilder(java.lang.String,java.lang.String,java.util.Date,java.util.Date,java.lang.String,long) to create instances of this class without specifying values for all optional fields.
      Parameters:
      name - The last component of the path (including extension). This never contains a slash. Must not be null.
      id - A unique identifier for the file. Must have length of at least 1 and not be null.
      clientModified - For files, this is the modification time set by the desktop client when the file was added to Dropbox. Since this time is not verified (the Dropbox server stores whatever the desktop client sends up), this should only be used for display purposes (such as sorting) and not, for example, to determine if a file has changed or not. Must not be null.
      serverModified - The last time the file was modified on Dropbox. Must not be null.
      rev - A unique identifier for the current revision of a file. This field is the same rev as elsewhere in the API and can be used to detect changes and avoid conflicts. Must have length of at least 9, match pattern "[0-9a-f]+", and not be null.
      size - The file size in bytes.
      pathLower - The lowercased full path in the user's Dropbox. This always starts with a slash. This field will be null if the file or folder is not mounted.
      pathDisplay - The cased path to be used for display purposes only. In rare instances the casing will not correctly match the user's filesystem, but this behavior will match the path provided in the Core API v1, and at least the last path component will have the correct casing. Changes to only the casing of paths won't be returned by DbxAppFilesRequests.listFolderContinue(String). This field will be null if the file or folder is not mounted.
      parentSharedFolderId - Field is deprecated. Please use FileSharingInfo.getParentSharedFolderId() or FolderSharingInfo.getParentSharedFolderId() instead. Must match pattern "[-_0-9a-zA-Z:]+".
      previewUrl - The preview URL of the file.
      mediaInfo - Additional information if the file is a photo or video. This field will not be set on entries returned by DbxAppFilesRequests.listFolder(String), DbxAppFilesRequests.listFolderContinue(String), or DbxUserFilesRequests.getThumbnailBatch(List), starting December 2, 2019.
      symlinkInfo - Set if this file is a symlink.
      sharingInfo - Set if this file is contained in a shared folder.
      isDownloadable - If true, file can be downloaded directly; else the file must be exported.
      exportInfo - Information about format this file can be exported to. This filed must be set if getIsDownloadable() is set to false.
      propertyGroups - Additional information if the file has custom properties with the property template specified. Must not contain a null item.
      hasExplicitSharedMembers - This flag will only be present if include_has_explicit_shared_members is true in DbxAppFilesRequests.listFolder(String) or DbxUserFilesRequests.getMetadata(String). If this flag is present, it will be true if this file has any explicit shared members. This is different from sharing_info in that this could be true in the case where a file has explicit members but is not contained within a shared folder.
      contentHash - A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. Must have length of at least 64 and have length of at most 64.
      fileLockInfo - If present, the metadata associated with the file's current lock.
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
    • FileMetadata

      public FileMetadata(@Nonnull String name, @Nonnull String id, @Nonnull Date clientModified, @Nonnull Date serverModified, @Nonnull String rev, long size)
      None

      The default values for unset fields will be used.

      Parameters:
      name - The last component of the path (including extension). This never contains a slash. Must not be null.
      id - A unique identifier for the file. Must have length of at least 1 and not be null.
      clientModified - For files, this is the modification time set by the desktop client when the file was added to Dropbox. Since this time is not verified (the Dropbox server stores whatever the desktop client sends up), this should only be used for display purposes (such as sorting) and not, for example, to determine if a file has changed or not. Must not be null.
      serverModified - The last time the file was modified on Dropbox. Must not be null.
      rev - A unique identifier for the current revision of a file. This field is the same rev as elsewhere in the API and can be used to detect changes and avoid conflicts. Must have length of at least 9, match pattern "[0-9a-f]+", and not be null.
      size - The file size in bytes.
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
  • Method Details

    • getName

      @Nonnull public String getName()
      The last component of the path (including extension). This never contains a slash.
      Overrides:
      getName in class Metadata
      Returns:
      value for this field, never null.
    • getId

      @Nonnull public String getId()
      A unique identifier for the file.
      Returns:
      value for this field, never null.
    • getClientModified

      @Nonnull public Date getClientModified()
      For files, this is the modification time set by the desktop client when the file was added to Dropbox. Since this time is not verified (the Dropbox server stores whatever the desktop client sends up), this should only be used for display purposes (such as sorting) and not, for example, to determine if a file has changed or not.
      Returns:
      value for this field, never null.
    • getServerModified

      @Nonnull public Date getServerModified()
      The last time the file was modified on Dropbox.
      Returns:
      value for this field, never null.
    • getRev

      @Nonnull public String getRev()
      A unique identifier for the current revision of a file. This field is the same rev as elsewhere in the API and can be used to detect changes and avoid conflicts.
      Returns:
      value for this field, never null.
    • getSize

      public long getSize()
      The file size in bytes.
      Returns:
      value for this field.
    • getPathLower

      @Nullable public String getPathLower()
      The lowercased full path in the user's Dropbox. This always starts with a slash. This field will be null if the file or folder is not mounted.
      Overrides:
      getPathLower in class Metadata
      Returns:
      value for this field, or null if not present.
    • getPathDisplay

      @Nullable public String getPathDisplay()
      The cased path to be used for display purposes only. In rare instances the casing will not correctly match the user's filesystem, but this behavior will match the path provided in the Core API v1, and at least the last path component will have the correct casing. Changes to only the casing of paths won't be returned by DbxAppFilesRequests.listFolderContinue(String). This field will be null if the file or folder is not mounted.
      Overrides:
      getPathDisplay in class Metadata
      Returns:
      value for this field, or null if not present.
    • getParentSharedFolderId

      @Deprecated @Nullable public String getParentSharedFolderId()
      Deprecated.
      Overrides:
      getParentSharedFolderId in class Metadata
      Returns:
      value for this field, or null if not present.
    • getPreviewUrl

      @Nullable public String getPreviewUrl()
      The preview URL of the file.
      Overrides:
      getPreviewUrl in class Metadata
      Returns:
      value for this field, or null if not present.
    • getMediaInfo

      @Nullable public MediaInfo getMediaInfo()
      Additional information if the file is a photo or video. This field will not be set on entries returned by DbxAppFilesRequests.listFolder(String), DbxAppFilesRequests.listFolderContinue(String), or DbxUserFilesRequests.getThumbnailBatch(List), starting December 2, 2019.
      Returns:
      value for this field, or null if not present.
    • getSymlinkInfo

      @Nullable public SymlinkInfo getSymlinkInfo()
      Set if this file is a symlink.
      Returns:
      value for this field, or null if not present.
    • getSharingInfo

      @Nullable public FileSharingInfo getSharingInfo()
      Set if this file is contained in a shared folder.
      Returns:
      value for this field, or null if not present.
    • getIsDownloadable

      public boolean getIsDownloadable()
      If true, file can be downloaded directly; else the file must be exported.
      Returns:
      value for this field, or null if not present. Defaults to true.
    • getExportInfo

      @Nullable public ExportInfo getExportInfo()
      Information about format this file can be exported to. This filed must be set if getIsDownloadable() is set to false.
      Returns:
      value for this field, or null if not present.
    • getPropertyGroups

      @Nullable public List<PropertyGroup> getPropertyGroups()
      Additional information if the file has custom properties with the property template specified.
      Returns:
      value for this field, or null if not present.
    • getHasExplicitSharedMembers

      @Nullable public Boolean getHasExplicitSharedMembers()
      This flag will only be present if include_has_explicit_shared_members is true in DbxAppFilesRequests.listFolder(String) or DbxUserFilesRequests.getMetadata(String). If this flag is present, it will be true if this file has any explicit shared members. This is different from sharing_info in that this could be true in the case where a file has explicit members but is not contained within a shared folder.
      Returns:
      value for this field, or null if not present.
    • getContentHash

      @Nullable public String getContentHash()
      A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page.
      Returns:
      value for this field, or null if not present.
    • getFileLockInfo

      @Nullable public FileLockMetadata getFileLockInfo()
      If present, the metadata associated with the file's current lock.
      Returns:
      value for this field, or null if not present.
    • newBuilder

      public static FileMetadata.Builder newBuilder(String name, String id, Date clientModified, Date serverModified, String rev, long size)
      Returns a new builder for creating an instance of this class.
      Parameters:
      name - The last component of the path (including extension). This never contains a slash. Must not be null.
      id - A unique identifier for the file. Must have length of at least 1 and not be null.
      clientModified - For files, this is the modification time set by the desktop client when the file was added to Dropbox. Since this time is not verified (the Dropbox server stores whatever the desktop client sends up), this should only be used for display purposes (such as sorting) and not, for example, to determine if a file has changed or not. Must not be null.
      serverModified - The last time the file was modified on Dropbox. Must not be null.
      rev - A unique identifier for the current revision of a file. This field is the same rev as elsewhere in the API and can be used to detect changes and avoid conflicts. Must have length of at least 9, match pattern "[0-9a-f]+", and not be null.
      size - The file size in bytes.
      Returns:
      builder for this class.
      Throws:
      IllegalArgumentException - If any argument does not meet its preconditions.
    • hashCode

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

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

      public String toString()
      Overrides:
      toString in class Metadata
    • 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 Metadata
      Returns:
      Formatted, multiline String representation of this object