KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > slf4j > MarkerFactory


1 /*
2  * Copyright (c) 2004-2007 QOS.ch
3  * All rights reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be
14  * included in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */

24
25 package org.slf4j;
26
27 import org.slf4j.helpers.Util;
28 import org.slf4j.impl.StaticMarkerBinder;
29
30 /**
31  * MarkerFactory is a utility class producing {@link Marker} instances as
32  * appropriate for the logging system currently in use.
33  *
34  * <p>
35  * This class is essentially implemented as a wrapper around an
36  * {@link IMarkerFactory} instance bound at compile time.
37  *
38  * <p>
39  * Please note that all methods in this class are static.
40  *
41  * @author Ceki G&uuml;lc&uuml;
42  */

43 public class MarkerFactory {
44   static IMarkerFactory markerFactory;
45
46   private MarkerFactory() {
47   }
48
49   static {
50     try {
51       markerFactory = StaticMarkerBinder.SINGLETON.getMarkerFactory();
52     } catch (Exception JavaDoc e) {
53       // we should never get here
54
Util.reportFailure("Could not instantiate instance of class ["
55           + StaticMarkerBinder.SINGLETON.getMarkerFactoryClassStr() + "]", e);
56     }
57   }
58
59   /**
60    * Return a Marker instance as specified by the name parameter using the
61    * previously bound {@link IMarkerFactory}instance.
62    *
63    * @param name
64    * The name of the {@link Marker} object to return.
65    * @return marker
66    */

67   public static Marker getMarker(String JavaDoc name) {
68     return markerFactory.getMarker(name);
69   }
70
71   /**
72    * Return the {@link IMarkerFactory}instance in use.
73    *
74    * <p>The IMarkerFactory instance is usually bound with this class at
75    * compile time.
76    *
77    * @return the IMarkerFactory instance in use
78    */

79   public static IMarkerFactory getIMarkerFactory() {
80     return markerFactory;
81   }
82 }
Popular Tags