001    package railo.runtime.config;
002    
003    import java.net.MalformedURLException;
004    import java.net.URL;
005    import java.util.Map;
006    
007    import railo.loader.engine.CFMLEngine;
008    import railo.runtime.CFMLFactory;
009    import railo.runtime.security.SecurityManager;
010    
011    /**
012     * Config for the server
013     */
014    public interface ConfigServer extends Config {
015    
016        /**
017         * @return returns all config webs
018         */
019        public abstract ConfigWeb[] getConfigWebs();
020    
021        /**
022         * @param realpath
023         * @return returns config web matching given realpath
024         */
025        public abstract ConfigWeb getConfigWeb(String realpath);
026    
027        /**
028         * @return Returns the contextes.
029         */
030        public abstract Map<String,CFMLFactory> getJSPFactoriesAsMap();
031    
032        /**
033         * @param id
034         * @return returns SecurityManager matching config
035         */
036        public abstract SecurityManager getSecurityManager(String id);
037    
038        /**
039         * is there a individual security manager for given id
040         * @param id for the security manager
041         * @return returns SecurityManager matching config
042         */
043        public abstract boolean hasIndividualSecurityManager(String id);
044    
045        /**
046         * @return Returns the securityManager.
047         */
048        public abstract SecurityManager getDefaultSecurityManager();
049    
050        /**
051         * @param updateType The updateType to set.
052         */
053        public abstract void setUpdateType(String updateType);
054    
055        /**
056         * @param updateLocation The updateLocation to set.
057         */
058        public abstract void setUpdateLocation(URL updateLocation);
059    
060        /**
061         * @param strUpdateLocation The updateLocation to set.
062         * @throws MalformedURLException 
063         */
064        public abstract void setUpdateLocation(String strUpdateLocation)
065                throws MalformedURLException;
066    
067        /**
068         * @param strUpdateLocation The updateLocation to set.
069         * @param defaultValue 
070         */
071        public abstract void setUpdateLocation(String strUpdateLocation,
072                URL defaultValue);
073        
074            /**
075             * @return the configListener
076             */
077            public ConfigListener getConfigListener();
078    
079            /**
080             * @param configListener the configListener to set
081             */
082            public void setConfigListener(ConfigListener configListener);
083    
084            public RemoteClient[] getRemoteClients();
085    
086        public abstract CFMLEngine getCFMLEngine();
087    
088    }