001// SECTION-START[License Header] 002// <editor-fold defaultstate="collapsed" desc=" Generated License "> 003/* 004 * Java Object Management and Configuration 005 * Copyright (C) Christian Schulte, 2005-206 006 * All rights reserved. 007 * 008 * Redistribution and use in source and binary forms, with or without 009 * modification, are permitted provided that the following conditions 010 * are met: 011 * 012 * o Redistributions of source code must retain the above copyright 013 * notice, this list of conditions and the following disclaimer. 014 * 015 * o Redistributions in binary form must reproduce the above copyright 016 * notice, this list of conditions and the following disclaimer in 017 * the documentation and/or other materials provided with the 018 * distribution. 019 * 020 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 021 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 022 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 023 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, 024 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 025 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 026 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 027 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 028 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 029 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 030 * 031 * $JOMC$ 032 * 033 */ 034// </editor-fold> 035// SECTION-END 036package org.jomc.logging.ri.commons; 037 038import java.util.logging.Level; 039import org.apache.commons.logging.Log; 040import org.apache.commons.logging.LogFactory; 041 042// SECTION-START[Documentation] 043// <editor-fold defaultstate="collapsed" desc=" Generated Documentation "> 044/** 045 * Object management and configuration logging system implementation backed by Apache Commons Logging. 046 * 047 * <dl> 048 * <dt><b>Identifier:</b></dt><dd>org.jomc.logging.ri.commons.CommonsLogger</dd> 049 * <dt><b>Name:</b></dt><dd>JOMC Logging ⁑ Commons Logging</dd> 050 * <dt><b>Specifications:</b></dt> 051 * <dd>org.jomc.logging.Logger @ 1.1</dd> 052 * <dd>org.jomc.spi.Listener @ 1.0</dd> 053 * <dt><b>Abstract:</b></dt><dd>No</dd> 054 * <dt><b>Final:</b></dt><dd>No</dd> 055 * <dt><b>Stateless:</b></dt><dd>Yes</dd> 056 * </dl> 057 * 058 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 1.0 059 * @version 1.3 060 */ 061// </editor-fold> 062// SECTION-END 063// SECTION-START[Annotations] 064// <editor-fold defaultstate="collapsed" desc=" Generated Annotations "> 065@javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.5", comments = "See http://www.jomc.org/jomc/1.5/jomc-tools-1.5" ) 066// </editor-fold> 067// SECTION-END 068public final class CommonsLogger 069 implements 070 org.jomc.logging.Logger, 071 org.jomc.spi.Listener 072{ 073 // SECTION-START[Constructors] 074 // <editor-fold defaultstate="collapsed" desc=" Generated Constructors "> 075 /** Creates a new {@code CommonsLogger} instance. */ 076 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.5", comments = "See http://www.jomc.org/jomc/1.5/jomc-tools-1.5" ) 077 public CommonsLogger() 078 { 079 // SECTION-START[Default Constructor] 080 super(); 081 // SECTION-END 082 } 083 // </editor-fold> 084 // SECTION-END 085 // SECTION-START[Logger] 086 087 public boolean isConfigEnabled() 088 { 089 return this.getLogger().isDebugEnabled(); 090 } 091 092 public void config( final String message ) 093 { 094 this.getLogger().debug( message ); 095 } 096 097 public void config( final Throwable throwable ) 098 { 099 this.getLogger().debug( throwable.getMessage(), throwable ); 100 } 101 102 public void config( final String message, final Throwable throwable ) 103 { 104 this.getLogger().debug( message, throwable ); 105 } 106 107 public boolean isDebugEnabled() 108 { 109 return this.getLogger().isDebugEnabled(); 110 } 111 112 public void debug( final String message ) 113 { 114 this.getLogger().debug( message ); 115 } 116 117 public void debug( final Throwable throwable ) 118 { 119 this.getLogger().debug( throwable.getMessage(), throwable ); 120 } 121 122 public void debug( final String message, final Throwable throwable ) 123 { 124 this.getLogger().debug( message, throwable ); 125 } 126 127 public boolean isErrorEnabled() 128 { 129 return this.getLogger().isErrorEnabled(); 130 } 131 132 public void error( final String message ) 133 { 134 this.getLogger().error( message ); 135 } 136 137 public void error( final Throwable throwable ) 138 { 139 this.getLogger().error( throwable.getMessage(), throwable ); 140 } 141 142 public void error( final String message, final Throwable throwable ) 143 { 144 this.getLogger().error( message, throwable ); 145 } 146 147 public boolean isFatalEnabled() 148 { 149 return this.getLogger().isFatalEnabled(); 150 } 151 152 public void fatal( final String message ) 153 { 154 this.getLogger().fatal( message ); 155 } 156 157 public void fatal( final Throwable throwable ) 158 { 159 this.getLogger().fatal( throwable.getMessage(), throwable ); 160 } 161 162 public void fatal( final String message, final Throwable throwable ) 163 { 164 this.getLogger().fatal( message, throwable ); 165 } 166 167 public boolean isInfoEnabled() 168 { 169 return this.getLogger().isInfoEnabled(); 170 } 171 172 public void info( final String message ) 173 { 174 this.getLogger().info( message ); 175 } 176 177 public void info( final Throwable throwable ) 178 { 179 this.getLogger().info( throwable.getMessage(), throwable ); 180 } 181 182 public void info( final String message, final Throwable throwable ) 183 { 184 this.getLogger().info( message, throwable ); 185 } 186 187 public boolean isTraceEnabled() 188 { 189 return this.getLogger().isTraceEnabled(); 190 } 191 192 public void trace( final String message ) 193 { 194 this.getLogger().trace( message ); 195 } 196 197 public void trace( final Throwable throwable ) 198 { 199 this.getLogger().trace( throwable.getMessage(), throwable ); 200 } 201 202 public void trace( final String message, final Throwable throwable ) 203 { 204 this.getLogger().trace( message, throwable ); 205 } 206 207 public boolean isWarnEnabled() 208 { 209 return this.getLogger().isWarnEnabled(); 210 } 211 212 public void warn( final String message ) 213 { 214 this.getLogger().warn( message ); 215 } 216 217 public void warn( final Throwable throwable ) 218 { 219 this.getLogger().warn( throwable.getMessage(), throwable ); 220 } 221 222 public void warn( final String message, final Throwable throwable ) 223 { 224 this.getLogger().warn( message, throwable ); 225 } 226 227 // SECTION-END 228 // SECTION-START[Listener] 229 public void onLog( final Level level, final String message, final Throwable throwable ) 230 { 231 if ( level != null ) 232 { 233 if ( level.intValue() <= Level.FINEST.intValue() ) 234 { 235 this.getObjectManagementLogger().trace( message, throwable ); 236 } 237 else if ( level.intValue() <= Level.FINER.intValue() ) 238 { 239 this.getObjectManagementLogger().debug( message, throwable ); 240 } 241 else if ( level.intValue() <= Level.FINE.intValue() ) 242 { 243 this.getObjectManagementLogger().debug( message, throwable ); 244 } 245 else if ( level.intValue() <= Level.CONFIG.intValue() ) 246 { 247 this.getObjectManagementLogger().config( message, throwable ); 248 } 249 else if ( level.intValue() <= Level.INFO.intValue() ) 250 { 251 this.getObjectManagementLogger().info( message, throwable ); 252 } 253 else if ( level.intValue() <= Level.WARNING.intValue() ) 254 { 255 this.getObjectManagementLogger().warn( message, throwable ); 256 } 257 else if ( level.intValue() <= Level.SEVERE.intValue() ) 258 { 259 this.getObjectManagementLogger().error( message, throwable ); 260 } 261 else if ( level.intValue() < Level.OFF.intValue() ) 262 { 263 this.getObjectManagementLogger().fatal( message, throwable ); 264 } 265 } 266 } 267 268 // SECTION-END 269 // SECTION-START[CommonsLogger] 270 /** 271 * Gets the commons logging logger backing the instance. 272 * 273 * @return The commons logging logger backing the instance.. 274 * 275 * @see #getName() 276 * @see LogFactory#getLog(java.lang.String) 277 */ 278 public Log getLogger() 279 { 280 return LogFactory.getLog( this.getName() ); 281 } 282 283 // SECTION-END 284 // SECTION-START[Dependencies] 285 // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies "> 286 /** 287 * Gets the {@code <ObjectManagementLogger>} dependency. 288 * <p> 289 * This method returns the {@code <JOMC Logging ⁑ Commons Logging>} object of the {@code <org.jomc.logging.Logger>} specification at specification level 1.1. 290 * That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance. 291 * </p> 292 * <p><strong>Properties:</strong> 293 * <table border="1" width="100%" cellpadding="3" cellspacing="0"> 294 * <tr class="TableSubHeadingColor"> 295 * <th align="left" scope="col" nowrap><b>Name</b></th> 296 * <th align="left" scope="col" nowrap><b>Type</b></th> 297 * <th align="left" scope="col" nowrap><b>Documentation</b></th> 298 * </tr> 299 * <tr class="TableRow"> 300 * <td align="left" valign="top" nowrap>{@code <name>}</td> 301 * <td align="left" valign="top" nowrap>{@code java.lang.String}</td> 302 * <td align="left" valign="top">Name of the logger object management events are logged with.</td> 303 * </tr> 304 * </table> 305 * </p> 306 * <dl> 307 * <dt><b>Final:</b></dt><dd>No</dd> 308 * </dl> 309 * @return Logger object management events are logged with. 310 * @throws org.jomc.ObjectManagementException if getting the dependency instance fails. 311 */ 312 @SuppressWarnings("unused") 313 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.5", comments = "See http://www.jomc.org/jomc/1.5/jomc-tools-1.5" ) 314 private org.jomc.logging.Logger getObjectManagementLogger() 315 { 316 final org.jomc.logging.Logger _d = (org.jomc.logging.Logger) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ObjectManagementLogger" ); 317 assert _d != null : "'ObjectManagementLogger' dependency not found."; 318 return _d; 319 } 320 // </editor-fold> 321 // SECTION-END 322 // SECTION-START[Properties] 323 // <editor-fold defaultstate="collapsed" desc=" Generated Properties "> 324 /** 325 * Gets the value of the {@code <name>} property. 326 * <p><dl> 327 * <dt><b>Final:</b></dt><dd>No</dd> 328 * </dl></p> 329 * @return Name of the component events are logged for. 330 * @throws org.jomc.ObjectManagementException if getting the property instance fails. 331 */ 332 @SuppressWarnings("unused") 333 @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.5", comments = "See http://www.jomc.org/jomc/1.5/jomc-tools-1.5" ) 334 public java.lang.String getName() 335 { 336 final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "name" ); 337 assert _p != null : "'name' property not found."; 338 return _p; 339 } 340 // </editor-fold> 341 // SECTION-END 342 // SECTION-START[Messages] 343 // SECTION-END 344}