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.listener;
020
021import lucee.commons.io.res.Resource;
022
023public interface JavaSettings {
024
025        /**
026         * pathes to the directories that contain Java classes or JAR files.
027         * @return resource pathes
028         */
029        public Resource[] getResources();
030
031        /**
032         * Indicates whether to load the classes from the default lib directory. 
033         * The default value is false
034         * @return
035         */
036        public boolean loadCFMLClassPath();
037        
038        /**
039         * Indicates whether to reload the updated classes and JARs dynamically, without restarting ColdFusion. 
040         * The default value is false
041         * @return
042         */
043        public boolean reloadOnChange();
044        
045        /**
046         * Specifies the time interval in seconds after which to verify any change in the class files or JAR files.
047         * The default value is 60seconds
048         * @return
049         */
050        public int watchInterval();
051        
052        /**
053         * Specifies the extensions of the files to monitor for changes. 
054         * By default, only .class and .jar files aremonitored.
055
056         * @return
057         */
058        public String[] watchedExtensions();
059
060}