001    
002    package net.dpml.station;
003    
004    import java.rmi.Remote;
005    import java.rmi.RemoteException;
006    
007    import net.dpml.lang.UnknownKeyException;
008    
009    /**
010     * Application management center.
011     */
012    public interface Manager extends Remote
013    {
014       /**
015        * Return a string array containing info about the general setup of the station.
016        * @return station configuration info
017        * @exception RemoteException if a remote error occurs
018        */
019        String[] getInfo() throws RemoteException;
020        
021       /**
022        * Return the application registry.
023        * @return the registry
024        * @exception RemoteException if a remote error occurs
025        */
026        ApplicationRegistry getApplicationRegistry() throws RemoteException;
027    
028       /**
029        * Return an application reference for the supplied key.
030        * @param key the application key
031        * @return the application
032        * @exception UnknownKeyException if the key is unknown
033        * @exception RemoteException if a remote error occurs
034        */
035        Application getApplication( String key ) throws UnknownKeyException, RemoteException;
036        
037       /**
038        * Shutdown the station.
039        * @exception RemoteException if a remote error occurs
040        */
041        void shutdown() throws RemoteException;
042    
043    }
044