Package com.sun.nfs

Class XFileAccessor

  • All Implemented Interfaces:
    XFileAccessor

    public class XFileAccessor
    extends java.lang.Object
    implements XFileAccessor
    The XFileAccessor interface is implemented by filesystems that need to be accessed via the XFile API.
    Version:
    1.0, 04/08/98
    Author:
    Brent Callaghan
    See Also:
    XFile
    • Constructor Summary

      Constructors 
      Constructor Description
      XFileAccessor()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canRead()
      Tests if the application can read from the specified file.
      boolean canWrite()
      Tests if the application can write to this file.
      void close()
      Close the file Since NFS has no concept of file close, we just flush any buffered data.
      boolean delete()
      Deletes the file specified by this object.
      boolean exists()
      Tests if this XFileAccessor object exists.
      void flush()
      Forces any buffered output bytes to be written out.
      protected Nfs getNfs()  
      protected Nfs getParent​(XFile xf)  
      XFile getXFile()
      Return the XFile for this Accessor
      boolean isDirectory()
      Tests if the file represented by this XFileAccessor object is a directory.
      boolean isFile()
      Tests if the file represented by this object is a "normal" nfs.
      long lastModified()
      Returns the time that the file represented by this XFile object was last modified.
      long length()
      Returns the length of the file represented by this XFileAccessor object.
      java.lang.String[] list()
      Returns a list of the files in the directory specified by this XFileAccessor object.
      boolean mkdir()
      Creates a directory whose pathname is specified by this XFileAccessor object.
      boolean mkfile()
      Creates a file whose pathname is specified by this XFileAccessor object.
      boolean open​(XFile xf, boolean serial, boolean readOnly)
      Open this NFS object
      int read​(byte[] b, int off, int len, long foff)
      Reads a subarray as a sequence of bytes.
      boolean renameTo​(XFile dest)
      Renames the file specified by this XFileAccessor object to have the pathname given by the XFileAccessor object argument.
      java.lang.String toString()
      Returns a string representation of this object.
      void write​(byte[] b, int off, int len, long foff)
      Writes a sub array as a sequence of bytes.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • XFileAccessor

        public XFileAccessor()
    • Method Detail

      • open

        public boolean open​(XFile xf,
                            boolean serial,
                            boolean readOnly)
        Open this NFS object
        Specified by:
        open in interface XFileAccessor
        Parameters:
        xf - the XFile object
        serial - true if serial access
        readOnly - true if read only
      • getParent

        protected Nfs getParent​(XFile xf)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getNfs

        protected Nfs getNfs()
      • exists

        public boolean exists()
        Tests if this XFileAccessor object exists.
        Specified by:
        exists in interface XFileAccessor
        Returns:
        true if the file specified by this object exists; false otherwise.
      • canWrite

        public boolean canWrite()
        Tests if the application can write to this file.
        Specified by:
        canWrite in interface XFileAccessor
        Returns:
        true if the application is allowed to write to a file whose name is specified by this object; false otherwise.
      • canRead

        public boolean canRead()
        Tests if the application can read from the specified file.
        Specified by:
        canRead in interface XFileAccessor
        Returns:
        true if the file specified by this object exists and the application can read the file; false otherwise.
      • isFile

        public boolean isFile()
        Tests if the file represented by this object is a "normal" nfs.

        A file is "normal" if it is not a directory and, in addition, satisfies other system-dependent criteria. Any non-directory file created by a Java application is guaranteed to be a normal nfs.

        Specified by:
        isFile in interface XFileAccessor
        Returns:
        true if the file specified by this XFile object exists and is a "normal" file; false otherwise.
      • isDirectory

        public boolean isDirectory()
        Tests if the file represented by this XFileAccessor object is a directory.
        Specified by:
        isDirectory in interface XFileAccessor
        Returns:
        true if this XFileAccessor object exists and is a directory; false otherwise.
      • lastModified

        public long lastModified()
        Returns the time that the file represented by this XFile object was last modified.

        The return value is system dependent and should only be used to compare with other values returned by last modified. It should not be interpreted as an absolute time.

        Specified by:
        lastModified in interface XFileAccessor
        Returns:
        the time the file specified by this object was last modified, or 0L if the specified file does not exist.
      • length

        public long length()
        Returns the length of the file represented by this XFileAccessor object.
        Specified by:
        length in interface XFileAccessor
        Returns:
        the length, in bytes, of the file specified by this object, or 0L if the specified file does not exist.
      • mkfile

        public boolean mkfile()
        Creates a file whose pathname is specified by this XFileAccessor object.
        Specified by:
        mkfile in interface XFileAccessor
        Returns:
        true if the file could be created; false otherwise.
      • mkdir

        public boolean mkdir()
        Creates a directory whose pathname is specified by this XFileAccessor object.
        Specified by:
        mkdir in interface XFileAccessor
        Returns:
        true if the directory could be created; false otherwise.
      • renameTo

        public boolean renameTo​(XFile dest)
        Renames the file specified by this XFileAccessor object to have the pathname given by the XFileAccessor object argument.
        Specified by:
        renameTo in interface XFileAccessor
        Parameters:
        dest - the new filename.
        Returns:
        true if the renaming succeeds; false otherwise.
      • list

        public java.lang.String[] list()
        Returns a list of the files in the directory specified by this XFileAccessor object.
        Specified by:
        list in interface XFileAccessor
        Returns:
        an array of file names in the specified directory. This list does not include the current directory or the parent directory ("." and ".." on Unix systems).
      • delete

        public boolean delete()
        Deletes the file specified by this object. If the target file to be deleted is a directory, it must be empty for deletion to succeed.
        Specified by:
        delete in interface XFileAccessor
        Returns:
        true if the file is successfully deleted; false otherwise.
      • read

        public int read​(byte[] b,
                        int off,
                        int len,
                        long foff)
                 throws java.io.IOException
        Reads a subarray as a sequence of bytes.
        Specified by:
        read in interface XFileAccessor
        Parameters:
        b - the data to be written
        off - the start offset in the data
        len - the number of bytes that are written
        foff - the offset into the file
        Returns:
        number of bytes read - zero if none.
        Throws:
        java.io.IOException - If an I/O error has occurred.
      • write

        public void write​(byte[] b,
                          int off,
                          int len,
                          long foff)
                   throws java.io.IOException
        Writes a sub array as a sequence of bytes.
        Specified by:
        write in interface XFileAccessor
        Parameters:
        b - the data to be written
        off - the start offset in the data
        len - the number of bytes that are written
        foff - the offset into the file
        Throws:
        java.io.IOException - If an I/O error has occurred.
      • flush

        public void flush()
                   throws java.io.IOException
        Forces any buffered output bytes to be written out.

        Specified by:
        flush in interface XFileAccessor
        Throws:
        java.io.IOException - if an I/O error occurs.
      • close

        public void close()
                   throws java.io.IOException
        Close the file Since NFS has no concept of file close, we just flush any buffered data.
        Specified by:
        close in interface XFileAccessor
        Throws:
        java.io.IOException - If an I/O error has occurred.
      • toString

        public java.lang.String toString()
        Returns a string representation of this object.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string giving the pathname of this object.