001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements. See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache license, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License. You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the license for the specific language governing permissions and
015     * limitations under the license.
016     */
017    package org.apache.log4j;
018    
019    import java.io.InputStream;
020    import java.net.URL;
021    import java.util.Properties;
022    
023    import org.apache.log4j.spi.LoggerRepository;
024    
025    /**
026     * A configurator for properties.
027     */
028    public class PropertyConfigurator {
029    
030        /**
031         * Read configuration options from configuration file.
032         *
033         * @param configFileName The configuration file
034         * @param hierarchy The hierarchy
035         */
036        public void doConfigure(final String configFileName, final LoggerRepository hierarchy) {
037    
038        }
039    
040        /**
041         * Read configuration options from <code>properties</code>.
042         *
043         * See {@link #doConfigure(String, LoggerRepository)} for the expected format.
044         *
045         * @param properties The properties
046         * @param hierarchy The hierarchy
047         */
048        public void doConfigure(final Properties properties, final LoggerRepository hierarchy) {
049        }
050    
051        /**
052         * Read configuration options from an InputStream.
053         *
054         * @param inputStream The input stream
055         * @param hierarchy The hierarchy
056         */
057        public void doConfigure(final InputStream inputStream, final LoggerRepository hierarchy) {
058        }
059    
060        /**
061         * Read configuration options from url <code>configURL</code>.
062         *
063         * @param configURL The configuration URL
064         * @param hierarchy The hierarchy
065         */
066        public void doConfigure(final URL configURL, final LoggerRepository hierarchy) {
067        }
068    
069        /**
070         * Read configuration options from configuration file.
071         *
072         * @param configFileName The configuration file.
073         */
074        public static void configure(final String configFileName) {
075        }
076    
077        /**
078         * Read configuration options from url <code>configURL</code>.
079         *
080         * @param configURL The configuration URL
081         */
082        public static void configure(final URL configURL) {
083        }
084    
085        /**
086         * Reads configuration options from an InputStream.
087         *
088         * @param inputStream The input stream
089         */
090        public static void configure(final InputStream inputStream) {
091        }
092    
093        /**
094         * Read configuration options from <code>properties</code>.
095         *
096         * See {@link #doConfigure(String, LoggerRepository)} for the expected format.
097         *
098         * @param properties The properties
099         */
100        public static void configure(final Properties properties) {
101        }
102    
103        /**
104         * Like {@link #configureAndWatch(String, long)} except that the
105         * default delay as defined by FileWatchdog.DEFAULT_DELAY is
106         * used.
107         *
108         * @param configFilename A file in key=value format.
109         */
110        public static void configureAndWatch(final String configFilename) {
111        }
112    
113        /**
114         * Read the configuration file <code>configFilename</code> if it
115         * exists. Moreover, a thread will be created that will periodically
116         * check if <code>configFilename</code> has been created or
117         * modified. The period is determined by the <code>delay</code>
118         * argument. If a change or file creation is detected, then
119         * <code>configFilename</code> is read to configure log4j.
120         *
121         * @param configFilename A file in key=value format.
122         * @param delay The delay in milliseconds to wait between each check.
123         */
124        public static void configureAndWatch(final String configFilename, final long delay) {
125        }
126    }