Interface FileHandle
- All Superinterfaces:
org.refcodes.mixin.CreatedDateAccessor,FileSizeAccessor,org.refcodes.mixin.ModifiedDateAccessor,org.refcodes.mixin.NameAccessor,org.refcodes.mixin.PathAccessor
- All Known Subinterfaces:
FileHandle.MutableFileHandle
- All Known Implementing Classes:
FileHandleImpl,FileHandleImpl.MutableFileHandleImpl
public interface FileHandle
extends org.refcodes.mixin.PathAccessor, org.refcodes.mixin.NameAccessor, FileSizeAccessor, org.refcodes.mixin.CreatedDateAccessor, org.refcodes.mixin.ModifiedDateAccessor
A file (handle) (descriptor) describes a file in a file system.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceThe mutableFileHandleallows the modification of (fiddling around with) attributes. ------------------------------------------------------------------------- ATTENTION: Usually fiddling around with attributes is not necessary, as theFileSystemitself provides the sufficient functionality to work with files.Nested classes/interfaces inherited from interface org.refcodes.mixin.CreatedDateAccessor
org.refcodes.mixin.CreatedDateAccessor.CreatedDateMutator, org.refcodes.mixin.CreatedDateAccessor.CreatedDatePropertyNested classes/interfaces inherited from interface org.refcodes.filesystem.FileSizeAccessor
FileSizeAccessor.FileSizeBuilder<B extends FileSizeAccessor.FileSizeBuilder<B>>, FileSizeAccessor.FileSizeMutator, FileSizeAccessor.FileSizePropertyNested classes/interfaces inherited from interface org.refcodes.mixin.ModifiedDateAccessor
org.refcodes.mixin.ModifiedDateAccessor.ModifiedDateMutator, org.refcodes.mixin.ModifiedDateAccessor.ModifiedDatePropertyNested classes/interfaces inherited from interface org.refcodes.mixin.NameAccessor
org.refcodes.mixin.NameAccessor.NameBuilder<B extends org.refcodes.mixin.NameAccessor.NameBuilder<B>>, org.refcodes.mixin.NameAccessor.NameMutator, org.refcodes.mixin.NameAccessor.NamePropertyNested classes/interfaces inherited from interface org.refcodes.mixin.PathAccessor
org.refcodes.mixin.PathAccessor.PathBuilder<B extends org.refcodes.mixin.PathAccessor.PathBuilder<?>>, org.refcodes.mixin.PathAccessor.PathMutator, org.refcodes.mixin.PathAccessor.PathProperty -
Method Summary
Modifier and TypeMethodDescriptionThe date when the file was created.longThe size of the content of the file.The date when the file was modified.getName()The name is the part of the key without the path.getPath()The path is the part of the key without the name.toKey()The key is the fully qualified name to identify the file.Converts the giveFileHandleto aFileHandle.MutableFileHandle.
-
Method Details
-
getPath
String getPath()The path is the part of the key without the name. The path separator is not implementation specific and should be retrieved from the file system'sFileSystem.PATH_DELIMITERattribute.- Specified by:
getPathin interfaceorg.refcodes.mixin.PathAccessor- Returns:
- The path of the file's key without the name.
-
getName
String getName()The name is the part of the key without the path. The path separator is not implementation specific and should be retrieved from the file system'sFileSystem.PATH_DELIMITERattribute.- Specified by:
getNamein interfaceorg.refcodes.mixin.NameAccessor- Returns:
- The name of the file's key without the path.
-
toKey
String toKey()The key is the fully qualified name to identify the file. The key usually is physically (directory path and filename) or virtually composed of the path and the name.- Returns:
- The fully qualified key of the file.
-
getFileSize
long getFileSize()The size of the content of the file.- Specified by:
getFileSizein interfaceFileSizeAccessor- Returns:
- The content size of the file.
-
getCreatedDate
Date getCreatedDate()The date when the file was created.- Specified by:
getCreatedDatein interfaceorg.refcodes.mixin.CreatedDateAccessor- Returns:
- The creation date.
-
getModifiedDate
Date getModifiedDate()The date when the file was modified.- Specified by:
getModifiedDatein interfaceorg.refcodes.mixin.ModifiedDateAccessor- Returns:
- The modification date.
-
toMutableFileHandle
FileHandle.MutableFileHandle toMutableFileHandle()Converts the giveFileHandleto aFileHandle.MutableFileHandle. The mutableFileHandleallows the modification of (fiddling around with) attributes. ------------------------------------------------------------------------- ATTENTION: Usually fiddling around with attributes is not necessary, as theFileSystemitself provides the sufficient functionality to work with files. In some cases though this might be necessary: This method is being provided to allow modification of file attributes while making sure that theFileHandleitself creates a copy so that any additional attributes provided by extensions of this interface of whom the developer does not know (yet) are preserved. So extensions of theFileHandleknow how to create aFileHandle.MutableFileHandlewithout information loss, the business logic does not require to take care of any yet unknown extensions. ------------------------------------------------------------------------- CAUTION: Working with modifiedFileHandles on theFileSystemcan aCause unexpected (severe) behavior (data loss), so we assume that you know what you do when using theFileHandle.MutableFileHandle! ------------------------------------------------------------------------- UseFileHandle.MutableFileHandle.toFileHandle()to get back to aFileHandleto avoid hassle with collections, theObject.hashCode()and theObject.equals(Object)operations.- Returns:
- the mutable file handle
-