View Javadoc

1   // SECTION-START[License Header]
2   // <editor-fold defaultstate="collapsed" desc=" Generated License ">
3   /*
4    *   Java Object Management and Configuration
5    *   Copyright (C) Christian Schulte, 2005-206
6    *   All rights reserved.
7    *
8    *   Redistribution and use in source and binary forms, with or without
9    *   modification, are permitted provided that the following conditions
10   *   are met:
11   *
12   *     o Redistributions of source code must retain the above copyright
13   *       notice, this list of conditions and the following disclaimer.
14   *
15   *     o Redistributions in binary form must reproduce the above copyright
16   *       notice, this list of conditions and the following disclaimer in
17   *       the documentation and/or other materials provided with the
18   *       distribution.
19   *
20   *   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
21   *   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
22   *   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23   *   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
24   *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25   *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26   *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27   *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28   *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29   *   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30   *
31   *   $JOMC: CommonsLogger.java 4723 2013-01-03 08:50:05Z schulte $
32   *
33   */
34  // </editor-fold>
35  // SECTION-END
36  package org.jomc.logging.ri.commons;
37  
38  import java.util.logging.Level;
39  import org.apache.commons.logging.Log;
40  import org.apache.commons.logging.LogFactory;
41  
42  // SECTION-START[Documentation]
43  // <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
44  /**
45   * Object management and configuration logging system implementation backed by Apache Commons Logging.
46   *
47   * <dl>
48   *   <dt><b>Identifier:</b></dt><dd>org.jomc.logging.ri.commons.CommonsLogger</dd>
49   *   <dt><b>Name:</b></dt><dd>JOMC Logging ⁑ Commons Logging</dd>
50   *   <dt><b>Specifications:</b></dt>
51   *     <dd>org.jomc.logging.Logger @ 1.0</dd>
52   *     <dd>org.jomc.spi.Listener @ 1.0</dd>
53   *   <dt><b>Abstract:</b></dt><dd>No</dd>
54   *   <dt><b>Final:</b></dt><dd>No</dd>
55   *   <dt><b>Stateless:</b></dt><dd>Yes</dd>
56   * </dl>
57   *
58   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 1.0
59   * @version 1.2
60   */
61  // </editor-fold>
62  // SECTION-END
63  // SECTION-START[Annotations]
64  // <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
65  @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.4", comments = "See http://www.jomc.org/jomc/1.4/jomc-tools-1.4" )
66  // </editor-fold>
67  // SECTION-END
68  public final class CommonsLogger
69      implements
70      org.jomc.logging.Logger,
71      org.jomc.spi.Listener
72  {
73      // SECTION-START[Constructors]
74      // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
75      /** Creates a new {@code CommonsLogger} instance. */
76      @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.4", comments = "See http://www.jomc.org/jomc/1.4/jomc-tools-1.4" )
77      public CommonsLogger()
78      {
79          // SECTION-START[Default Constructor]
80          super();
81          // SECTION-END
82      }
83      // </editor-fold>
84      // SECTION-END
85      // SECTION-START[Logger]
86  
87      public boolean isDebugEnabled()
88      {
89          return this.getLogger().isDebugEnabled();
90      }
91  
92      public void debug( final String message )
93      {
94          this.getLogger().debug( message );
95      }
96  
97      public void debug( final Throwable throwable )
98      {
99          this.getLogger().debug( throwable.getMessage(), throwable );
100     }
101 
102     public void debug( final String message, final Throwable throwable )
103     {
104         this.getLogger().debug( message, throwable );
105     }
106 
107     public boolean isErrorEnabled()
108     {
109         return this.getLogger().isErrorEnabled();
110     }
111 
112     public void error( final String message )
113     {
114         this.getLogger().error( message );
115     }
116 
117     public void error( final Throwable throwable )
118     {
119         this.getLogger().error( throwable.getMessage(), throwable );
120     }
121 
122     public void error( final String message, final Throwable throwable )
123     {
124         this.getLogger().error( message, throwable );
125     }
126 
127     public boolean isFatalEnabled()
128     {
129         return this.getLogger().isFatalEnabled();
130     }
131 
132     public void fatal( final String message )
133     {
134         this.getLogger().fatal( message );
135     }
136 
137     public void fatal( final Throwable throwable )
138     {
139         this.getLogger().fatal( throwable.getMessage(), throwable );
140     }
141 
142     public void fatal( final String message, final Throwable throwable )
143     {
144         this.getLogger().fatal( message, throwable );
145     }
146 
147     public boolean isInfoEnabled()
148     {
149         return this.getLogger().isInfoEnabled();
150     }
151 
152     public void info( final String message )
153     {
154         this.getLogger().info( message );
155     }
156 
157     public void info( final Throwable throwable )
158     {
159         this.getLogger().info( throwable.getMessage(), throwable );
160     }
161 
162     public void info( final String message, final Throwable throwable )
163     {
164         this.getLogger().info( message, throwable );
165     }
166 
167     public boolean isTraceEnabled()
168     {
169         return this.getLogger().isTraceEnabled();
170     }
171 
172     public void trace( final String message )
173     {
174         this.getLogger().trace( message );
175     }
176 
177     public void trace( final Throwable throwable )
178     {
179         this.getLogger().trace( throwable.getMessage(), throwable );
180     }
181 
182     public void trace( final String message, final Throwable throwable )
183     {
184         this.getLogger().trace( message, throwable );
185     }
186 
187     public boolean isWarnEnabled()
188     {
189         return this.getLogger().isWarnEnabled();
190     }
191 
192     public void warn( final String message )
193     {
194         this.getLogger().warn( message );
195     }
196 
197     public void warn( final Throwable throwable )
198     {
199         this.getLogger().warn( throwable.getMessage(), throwable );
200     }
201 
202     public void warn( final String message, final Throwable throwable )
203     {
204         this.getLogger().warn( message, throwable );
205     }
206 
207     // SECTION-END
208     // SECTION-START[Listener]
209     public void onLog( final Level level, final String message, final Throwable throwable )
210     {
211         if ( level != null )
212         {
213             if ( level.equals( Level.CONFIG ) || level.equals( Level.FINE ) )
214             {
215                 this.getObjectManagementLogger().debug( message, throwable );
216             }
217             else if ( level.equals( Level.FINER ) || level.equals( Level.FINEST ) )
218             {
219                 this.getObjectManagementLogger().trace( message, throwable );
220             }
221             else if ( level.equals( Level.INFO ) )
222             {
223                 this.getObjectManagementLogger().info( message, throwable );
224             }
225             else if ( level.equals( Level.SEVERE ) )
226             {
227                 this.getObjectManagementLogger().error( message, throwable );
228             }
229             else if ( level.equals( Level.WARNING ) )
230             {
231                 this.getObjectManagementLogger().warn( message, throwable );
232             }
233             else
234             {
235                 this.getObjectManagementLogger().trace( message, throwable );
236             }
237         }
238     }
239 
240     // SECTION-END
241     // SECTION-START[CommonsLogger]
242     /**
243      * Gets the commons logging logger backing the instance.
244      *
245      * @return The commons logging logger backing the instance..
246      *
247      * @see #getName()
248      * @see LogFactory#getLog(java.lang.String)
249      */
250     public Log getLogger()
251     {
252         return LogFactory.getLog( this.getName() );
253     }
254 
255     // SECTION-END
256     // SECTION-START[Dependencies]
257     // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies ">
258     /**
259      * Gets the {@code <ObjectManagementLogger>} dependency.
260      * <p>
261      *   This method returns the {@code <JOMC Logging ⁑ Commons Logging>} object of the {@code <org.jomc.logging.Logger>} specification at specification level 1.0.
262      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
263      * </p>
264      * <p><strong>Properties:</strong>
265      *   <table border="1" width="100%" cellpadding="3" cellspacing="0">
266      *     <tr class="TableSubHeadingColor">
267      *       <th align="left" scope="col" nowrap><b>Name</b></th>
268      *       <th align="left" scope="col" nowrap><b>Type</b></th>
269      *       <th align="left" scope="col" nowrap><b>Documentation</b></th>
270      *     </tr>
271      *     <tr class="TableRow">
272      *       <td align="left" valign="top" nowrap>{@code <name>}</td>
273      *       <td align="left" valign="top" nowrap>{@code java.lang.String}</td>
274      *       <td align="left" valign="top">Name of the logger object management events are logged with.</td>
275      *     </tr>
276      *   </table>
277      * </p>
278      * <dl>
279      *   <dt><b>Final:</b></dt><dd>No</dd>
280      * </dl>
281      * @return Logger object management events are logged with.
282      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
283      */
284     @SuppressWarnings("unused")
285     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.4", comments = "See http://www.jomc.org/jomc/1.4/jomc-tools-1.4" )
286     private org.jomc.logging.Logger getObjectManagementLogger()
287     {
288         final org.jomc.logging.Logger _d = (org.jomc.logging.Logger) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ObjectManagementLogger" );
289         assert _d != null : "'ObjectManagementLogger' dependency not found.";
290         return _d;
291     }
292     // </editor-fold>
293     // SECTION-END
294     // SECTION-START[Properties]
295     // <editor-fold defaultstate="collapsed" desc=" Generated Properties ">
296     /**
297      * Gets the value of the {@code <name>} property.
298      * <p><dl>
299      *   <dt><b>Final:</b></dt><dd>No</dd>
300      * </dl></p>
301      * @return Name of the component events are logged for.
302      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
303      */
304     @SuppressWarnings("unused")
305     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.4", comments = "See http://www.jomc.org/jomc/1.4/jomc-tools-1.4" )
306     public java.lang.String getName()
307     {
308         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "name" );
309         assert _p != null : "'name' property not found.";
310         return _p;
311     }
312     // </editor-fold>
313     // SECTION-END
314     // SECTION-START[Messages]
315     // SECTION-END
316 }