net.java.truevfs.access.TRex Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of truevfs-access Show documentation
Show all versions of truevfs-access Show documentation
This module provides convenient access to the (virtual federated) file system
space for TrueVFS client applications.
It features simple, uniform, transparent, thread-safe, read/write access to
archive files as if they were virtual directories in a file system path.
This module also provides Swing GUI classes for viewing file trees
and choosing entries in archive files.
package net.java.truevfs.access;
import java.net.URI;
import javax.annotation.concurrent.Immutable;
import net.java.truevfs.kernel.spec.FsMountPoint;
import net.java.truevfs.kernel.spec.FsNodeName;
import net.java.truevfs.kernel.spec.FsNodePath;
/**
* Defines common properties and operations of {@link TFile} and {@link TPath}.
* This interface is of little practical use and solely exists for providing
* a common abstraction layer with a common Javadoc.
* Application developers should not use it - hence the silly name.
*
* @author Christian Schlichtherle
*/
@Immutable
public interface TRex {
//
// Properties.
//
/**
* Returns the {@link TArchiveDetector} which was used to detect any
* archive files in the path name of this object at construction time.
*
* @return The {@link TArchiveDetector} which was used to detect any
* archive files in the path name of this object at construction
* time.
*/
TArchiveDetector getArchiveDetector();
/**
* Returns the file system node path with an absolute URI.
* Note that multiple calls to this method result in objects which are
* required to compare {@linkplain Object#equals equal}, but are not
* necessarily identical.
*
* @return the file system node path with an absolute URI.
*/
FsNodePath getNodePath();
/**
* Returns the file system mount point for this path.
* Note that multiple calls to this method result in objects which are
* required to compare {@linkplain Object#equals equal}, but are not
* necessarily identical.
*
* @return the file system mount point for this path.
*/
FsMountPoint getMountPoint();
/**
* Returns the file system entry name.
* Note that multiple calls to this method result in objects which are
* required to compare {@linkplain Object#equals equal}, but are not
* necessarily identical.
*
* @return the file system entry name.
*/
FsNodeName getNodeName();
/**
* Returns the absolute URI for this object.
*
* @return the absolute URI for this object.
*/
URI getUri();
//
// Conversions.
//
/**
* Returns a file representation of this object.
*
* @return A file representation of this object.
*/
TFile toFile();
/**
* Returns a path representation of this object.
*
* @return A path representation of this object.
*/
TPath toPath();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy