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