Class FileData

All Implemented Interfaces:
AnnotatableData, DiskConsumableData, IdentifiableData, LoggableData, NameableData, OwnableData, RemovableData, ShareableData, SubtypableData

public class FileData
extends AnnotatedData
implements DiskConsumableData, LoggableData, SubtypableData
This class holds information about a file.
Version:
2.0
Author:
enell
See Also:
File, Developer documentation: Files and directories
Last modified
$Date: 2020-10-20 08:09:37 +0200 (Tue, 20 Oct 2020) $
Hibernate: class
table="`Files`" lazy="true"
  • Field Details

    • diskUsage

      private DiskUsageData diskUsage
    • subtype

      private ItemSubtypeData subtype
    • size

      private long size
    • md5

      private String md5
    • location

      private int location
    • mimeType

      private String mimeType
    • MAX_MIMETYPE_LENGTH

      public static final int MAX_MIMETYPE_LENGTH
      See Also:
      Constant Field Values
    • charset

      private String charset
    • MAX_CHARSET_LENGTH

      public static final int MAX_CHARSET_LENGTH
      See Also:
      Constant Field Values
    • directory

      private DirectoryData directory
    • writeProtected

      private boolean writeProtected
    • lastUpdate

      private Date lastUpdate
    • compressed

      private boolean compressed
    • compressedSize

      private long compressedSize
    • internalName

      private String internalName
    • url

      private String url
    • MAX_URL_LENGTH

      public static final int MAX_URL_LENGTH
      See Also:
      Constant Field Values
    • fileServer

      private FileServerData fileServer
  • Constructor Details

    • FileData

      public FileData()
  • Method Details

    • getName

      public String getName()
      Get the name of the item.
      Specified by:
      getName in interface NameableData
      Overrides:
      getName in class CommonData
      Returns:
      A String with the name of the item
      Hibernate: property
      type="string"
      Hibernate: column
      name="`name`" length="255" not-null="true" index="name_idx" unique-key="File_uniquefile"
    • getDiskUsage

      public DiskUsageData getDiskUsage()
      Description copied from interface: DiskConsumableData
      Get the DiskUsageData that this item use.
      Specified by:
      getDiskUsage in interface DiskConsumableData
    • setDiskUsage

      void setDiskUsage​(DiskUsageData diskUsage)
    • getItemSubtype

      public ItemSubtypeData getItemSubtype()
      Description copied from interface: SubtypableData
      Get the subtype of the item.
      Specified by:
      getItemSubtype in interface SubtypableData
    • setItemSubtype

      public void setItemSubtype​(ItemSubtypeData subtype)
      Description copied from interface: SubtypableData
      Set the subtype of the item.
      Specified by:
      setItemSubtype in interface SubtypableData
    • getSize

      public long getSize()
      Get the size in bytes for this FileData object.
      Hibernate: property
      column="`size`" type="long" not-null="true"
    • setSize

      public void setSize​(long size)
    • getMd5

      public String getMd5()
      Get the MD5 hash of the file contents. It is always returned as a string with 32 hexadecimal characters.
      Hibernate: property
      column="`md5`" type="string" length="32" not-null="false"
    • setMd5

      public void setMd5​(String md5)
    • getLocation

      public int getLocation()
      Get the Location of this FileData
      Hibernate: property
      column="`location`" type="int" not-null="true"
    • setLocation

      public void setLocation​(int location)
    • getMimeType

      public String getMimeType()
      Get the mime type of this FileData item.
      Hibernate: property
      column="`mimetype`" type="string" length="255"
    • setMimeType

      public void setMimeType​(String mimeType)
    • getCharacterSet

      public String getCharacterSet()
      Get the character set used in this file (for text-files only).
      Since:
      2.9
      Hibernate: property
      column="`charset`" type="string" length="255"
    • setCharacterSet

      public void setCharacterSet​(String charset)
      Since:
      2.9
    • getDirectory

      public DirectoryData getDirectory()
      Get the associated DirectoryData item.
      Hibernate: column
      name="`directory_id`" not-null="true" unique-key="File_uniquefile"
      Hibernate: many-to-one
      outer-join="false"
    • setDirectory

      public void setDirectory​(DirectoryData directory)
    • isWriteProtected

      public boolean isWriteProtected()
      If the actual file contents should be write protected or not.
      Since:
      2.4
      Hibernate: property
      column="`write_protected`" type="boolean" not-null="true"
    • setWriteProtected

      public void setWriteProtected​(boolean writeProtected)
    • getLastUpdate

      public Date getLastUpdate()
      Get the date and time the actual file data was last updated.
      Returns:
      A Date object, or null if no file has been uploaded
      Since:
      2.4
      Hibernate: property
      column="`last_update`" type="timestamp" not-null="false"
    • setLastUpdate

      public void setLastUpdate​(Date lastUpdate)
    • isCompressed

      public boolean isCompressed()
      If the file is stored in a compressed format or not.
      Since:
      2.5
      Hibernate: property
      column="`compressed`" type="boolean" not-null="true"
    • setCompressed

      public void setCompressed​(boolean compressed)
    • getCompressedSize

      public long getCompressedSize()
      Get the size in bytes that this FileData object uses after compression. If the file is not compressed, this value is the same as getSize()
      Hibernate: property
      column="`compressed_size`" type="long" not-null="true"
    • setCompressedSize

      public void setCompressedSize​(long compressedSize)
    • getInternalName

      @NotLoggable @PropertyPathProtected public String getInternalName()
      Get the internal name accosiated with this file.
      Hibernate: property
      column="`internalname'" type="string" length="255" not-null="false"
    • setInternalName

      public void setInternalName​(String internalName)
    • getUrl

      public String getUrl()
      Get the URL to the file. This property is only set/valid for files that are stored externally (location=EXTERNAL).
      Since:
      2.16
      Hibernate: property
      column="`url`" type="text" not-null="false"
    • setUrl

      public void setUrl​(String url)
    • getFileServer

      public FileServerData getFileServer()
      Get the associated FileServerData item. This property is only set/valid for files that are stored externally (location=EXTERNAL).
      Since:
      2.16
      Hibernate: many-to-one
      column="`fileserver_id`" not-null="false" outer-join="false"
    • setFileServer

      public void setFileServer​(FileServerData fileServer)