001/** 002 * 003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. 004 * 005 * This library is free software; you can redistribute it and/or 006 * modify it under the terms of the GNU Lesser General Public 007 * License as published by the Free Software Foundation; either 008 * version 2.1 of the License, or (at your option) any later version. 009 * 010 * This library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 * Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public 016 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 017 * 018 **/ 019package lucee.runtime.config; 020 021import java.net.MalformedURLException; 022import java.net.URL; 023import java.util.Map; 024 025import lucee.loader.engine.CFMLEngine; 026import lucee.runtime.CFMLFactory; 027import lucee.runtime.security.SecurityManager; 028 029/** 030 * Config for the server 031 */ 032public interface ConfigServer extends Config { 033 034 /** 035 * @return returns all config webs 036 */ 037 public abstract ConfigWeb[] getConfigWebs(); 038 039 /** 040 * @param relpath 041 * @return returns config web matching given relpath 042 */ 043 public abstract ConfigWeb getConfigWeb(String relpath); 044 045 /** 046 * @return Returns the contextes. 047 */ 048 public abstract Map<String,CFMLFactory> getJSPFactoriesAsMap(); 049 050 /** 051 * @param id 052 * @return returns SecurityManager matching config 053 */ 054 public abstract SecurityManager getSecurityManager(String id); 055 056 /** 057 * is there a individual security manager for given id 058 * @param id for the security manager 059 * @return returns SecurityManager matching config 060 */ 061 public abstract boolean hasIndividualSecurityManager(String id); 062 063 /** 064 * @return Returns the securityManager. 065 */ 066 public abstract SecurityManager getDefaultSecurityManager(); 067 068 /** 069 * @param updateType The updateType to set. 070 */ 071 public abstract void setUpdateType(String updateType); 072 073 /** 074 * @param updateLocation The updateLocation to set. 075 */ 076 public abstract void setUpdateLocation(URL updateLocation); 077 078 /** 079 * @param strUpdateLocation The updateLocation to set. 080 * @throws MalformedURLException 081 */ 082 public abstract void setUpdateLocation(String strUpdateLocation) 083 throws MalformedURLException; 084 085 /** 086 * @param strUpdateLocation The updateLocation to set. 087 * @param defaultValue 088 */ 089 public abstract void setUpdateLocation(String strUpdateLocation, 090 URL defaultValue); 091 092 /** 093 * @return the configListener 094 */ 095 public ConfigListener getConfigListener(); 096 097 /** 098 * @param configListener the configListener to set 099 */ 100 public void setConfigListener(ConfigListener configListener); 101 102 public RemoteClient[] getRemoteClients(); 103 104 public abstract CFMLEngine getCFMLEngine(); 105 106}