001    /*
002     * This file is a part of the RMI Plugin for Eclipse tutorials.
003     * Copyright (C) 2002-7 Genady Beryozkin
004     * 
005     * You are free to modify this file, as long as you leave
006     * the following copyright:
007     * 
008     * This file is based on the Remote File System example of
009     * the RMI Plug-in for Eclipse. The original code is 
010     * Copyright (C) 2002-7 Genady Beryozkin
011     */
012    
013    package demo.rmi.filesystem.common;
014    
015    import java.rmi.Remote;
016    import java.rmi.RemoteException;
017    
018    /**
019     * An interface that represents a remote file system.
020     * It should be used to retrieve the roots of the remote file system.
021     * 
022     * @author Genady Beryozkin, rmi-info@genady.net
023     */
024    public interface IRemoteFileSystem extends Remote {
025    
026            /**
027             * Return the host name at which the file system is located.
028             */
029            public String getHost() throws RemoteException;
030            
031            /**
032             * Return the list of file system roots of the remote file system.
033             */
034            public IRemoteFile[] getRoots() throws RemoteException;
035            
036            /**
037             * Return a remote file instance for the given path.
038             */
039            public IRemoteFile getRemoteFile(String path) throws RemoteException;
040    }