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.gateway;
020
021import lucee.commons.lang.ClassException;
022import lucee.runtime.config.Config;
023import lucee.runtime.exp.PageException;
024import lucee.runtime.type.Struct;
025
026public interface GatewayEntry {
027
028
029        public static int STARTUP_MODE_AUTOMATIC = 1;
030        public static int STARTUP_MODE_MANUAL = 2;
031        public static int STARTUP_MODE_DISABLED = 4;
032        
033
034        /**
035         * @return the gateway
036         * @throws ClassException 
037         * @throws PageException 
038         */
039        public void createGateway(Config config) throws ClassException,PageException;
040        
041        public GatewayPro getGateway() ;
042
043        
044        /**
045         * @return the id
046         */
047        public abstract String getId();
048
049        
050        //public abstract Class getClazz();
051
052        /**
053         * @return the custom
054         */
055        public abstract Struct getCustom();
056
057        /**
058         * @return the readOnly
059         */
060        public abstract boolean isReadOnly();
061        
062
063        /**
064         * @return the cfcPath
065         */
066        public String getListenerCfcPath();
067        
068        public String getCfcPath();
069
070        /**
071         * @return the startupMode
072         */
073        public int getStartupMode();
074
075
076        public String getClassName();
077        
078
079}