You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2004/11/17 17:10:23 UTC
cvs commit: logging-log4j/src/java/org/apache/log4j/or RendererMap.java
ceki 2004/11/17 08:10:23
Modified: src/java/org/apache/log4j/or RendererMap.java
Log:
Indentation changes only
Revision Changes Path
1.12 +60 -60 logging-log4j/src/java/org/apache/log4j/or/RendererMap.java
Index: RendererMap.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/or/RendererMap.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- RendererMap.java 9 Oct 2002 22:50:04 -0000 1.11
+++ RendererMap.java 17 Nov 2004 16:10:23 -0000 1.12
@@ -1,88 +1,93 @@
/*
- * Copyright (C) The Apache Software Foundation. All rights reserved.
+ * Copyright 1999,2004 The Apache Software Foundation.
*
- * This software is published under the terms of the Apache Software
- * License version 1.1, a copy of which has been included with this
- * distribution in the LICENSE.txt file. */
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.log4j.or;
-import org.apache.log4j.spi.RendererSupport;
-import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.Loader;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.OptionConverter;
+import org.apache.log4j.spi.RendererSupport;
+
import java.util.Hashtable;
+
/**
Map class objects to an {@link ObjectRenderer}.
@author Ceki Gülcü
@since version 1.0 */
public class RendererMap {
-
- Hashtable map;
-
static ObjectRenderer defaultRenderer = new DefaultRenderer();
+ Hashtable map;
- public
- RendererMap() {
+ public RendererMap() {
map = new Hashtable();
}
/**
Add a renderer to a hierarchy passed as parameter.
*/
- static
- public
- void addRenderer(RendererSupport repository, String renderedClassName,
- String renderingClassName) {
- LogLog.debug("Rendering class: ["+renderingClassName+"], Rendered class: ["+
- renderedClassName+"].");
- ObjectRenderer renderer = (ObjectRenderer)
- OptionConverter.instantiateByClassName(renderingClassName,
- ObjectRenderer.class,
- null);
- if(renderer == null) {
- LogLog.error("Could not instantiate renderer ["+renderingClassName+"].");
+ public static void addRenderer(
+ RendererSupport repository, String renderedClassName,
+ String renderingClassName) {
+ LogLog.debug(
+ "Rendering class: [" + renderingClassName + "], Rendered class: ["
+ + renderedClassName + "].");
+ ObjectRenderer renderer =
+ (ObjectRenderer) OptionConverter.instantiateByClassName(
+ renderingClassName, ObjectRenderer.class, null);
+ if (renderer == null) {
+ LogLog.error(
+ "Could not instantiate renderer [" + renderingClassName + "].");
return;
} else {
try {
- Class renderedClass = Loader.loadClass(renderedClassName);
- repository.setRenderer(renderedClass, renderer);
- } catch(ClassNotFoundException e) {
- LogLog.error("Could not find class ["+renderedClassName+"].", e);
+ Class renderedClass = Loader.loadClass(renderedClassName);
+ repository.setRenderer(renderedClass, renderer);
+ } catch (ClassNotFoundException e) {
+ LogLog.error("Could not find class [" + renderedClassName + "].", e);
}
}
}
-
/**
Find the appropriate renderer for the class type of the
<code>o</code> parameter. This is accomplished by calling the
{@link #get(Class)} method. Once a renderer is found, it is
applied on the object <code>o</code> and the result is returned
as a {@link String}. */
- public
- String findAndRender(Object o) {
- if(o == null)
+ public String findAndRender(Object o) {
+ if (o == null) {
return null;
- else
+ } else {
return get(o.getClass()).doRender(o);
+ }
}
-
/**
Syntactic sugar method that calls {@link #get(Class)} with the
class of the object parameter. */
- public
- ObjectRenderer get(Object o) {
- if(o == null)
+ public ObjectRenderer get(Object o) {
+ if (o == null) {
return null;
- else
+ } else {
return get(o.getClass());
+ }
}
-
/**
Search the parents of <code>clazz</code> for a renderer. The
renderer closest in the hierarchy will be returned. If no
@@ -131,58 +136,53 @@
algorithm. However, the present algorithm should be acceptable in
the vast majority of circumstances.
- */
- public
- ObjectRenderer get(Class clazz) {
+ */
+ public ObjectRenderer get(Class clazz) {
//System.out.println("\nget: "+clazz);
ObjectRenderer r = null;
- for(Class c = clazz; c != null; c = c.getSuperclass()) {
+ for (Class c = clazz; c != null; c = c.getSuperclass()) {
//System.out.println("Searching for class: "+c);
r = (ObjectRenderer) map.get(c);
- if(r != null) {
- return r;
+ if (r != null) {
+ return r;
}
r = searchInterfaces(c);
- if(r != null)
- return r;
+ if (r != null) {
+ return r;
+ }
}
return defaultRenderer;
}
ObjectRenderer searchInterfaces(Class c) {
//System.out.println("Searching interfaces of class: "+c);
-
ObjectRenderer r = (ObjectRenderer) map.get(c);
- if(r != null) {
+ if (r != null) {
return r;
} else {
Class[] ia = c.getInterfaces();
- for(int i = 0; i < ia.length; i++) {
- r = searchInterfaces(ia[i]);
- if(r != null)
- return r;
+ for (int i = 0; i < ia.length; i++) {
+ r = searchInterfaces(ia[i]);
+ if (r != null) {
+ return r;
+ }
}
}
return null;
}
-
- public
- ObjectRenderer getDefaultRenderer() {
+ public ObjectRenderer getDefaultRenderer() {
return defaultRenderer;
}
-
- public
- void clear() {
+ public void clear() {
map.clear();
}
/**
Register an {@link ObjectRenderer} for <code>clazz</code>.
*/
- public
- void put(Class clazz, ObjectRenderer or) {
+ public void put(Class clazz, ObjectRenderer or) {
map.put(clazz, or);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org