X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=unused%2Fsrcjar_unused%2Forg%2Fapache%2Flog4j%2For%2FThreadGroupRenderer.java;fp=unused%2Fsrcjar_unused%2Forg%2Fapache%2Flog4j%2For%2FThreadGroupRenderer.java;h=026ff4f8156896a09d5168d1aba2e6ee7930b5fb;hb=7e01e1b3e9c8abdf952e085dba51e9266f12b1ee;hp=0000000000000000000000000000000000000000;hpb=88635c3965bb2f1f45e53c2d5f66fed19b93012a;p=jalview.git diff --git a/unused/srcjar_unused/org/apache/log4j/or/ThreadGroupRenderer.java b/unused/srcjar_unused/org/apache/log4j/or/ThreadGroupRenderer.java new file mode 100644 index 0000000..026ff4f --- /dev/null +++ b/unused/srcjar_unused/org/apache/log4j/or/ThreadGroupRenderer.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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.Layout; + + +/** + Render {@link ThreadGroup} objects in a format similar to the + information output by the {@link ThreadGroup#list} method. + @author Ceki Gülcü + @since 1.0 */ +public class ThreadGroupRenderer implements ObjectRenderer { + + public + ThreadGroupRenderer() { + } + + /** + Render a {@link ThreadGroup} object similar to the way that the + {@link ThreadGroup#list} method output information. + +

The output of a simple program consisting of one + main thread is: +

+     java.lang.ThreadGroup[name=main, maxpri=10]
+         Thread=[main,5,false]
+     
+ +

The boolean value in thread information is the value returned + by {@link Thread#isDaemon}. + + */ + public + String doRender(Object o) { + if(o instanceof ThreadGroup) { + StringBuffer sbuf = new StringBuffer(); + ThreadGroup tg = (ThreadGroup) o; + sbuf.append("java.lang.ThreadGroup[name="); + sbuf.append(tg.getName()); + sbuf.append(", maxpri="); + sbuf.append(tg.getMaxPriority()); + sbuf.append("]"); + Thread[] t = new Thread[tg.activeCount()]; + tg.enumerate(t); + for(int i = 0; i < t.length; i++) { + sbuf.append(Layout.LINE_SEP); + sbuf.append(" Thread=["); + sbuf.append(t[i].getName()); + sbuf.append(","); + sbuf.append(t[i].getPriority()); + sbuf.append(","); + sbuf.append(t[i].isDaemon()); + sbuf.append("]"); + } + return sbuf.toString(); + } else { + try { + // this is the best we can do + return o.toString(); + } catch(Exception ex) { + return ex.toString(); + } + } + } +}