Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/objectstyle/woproject/log4j/NSDictionaryRenderer.java


1   package org.objectstyle.woproject.log4j;
2   /* ====================================================================
3    * 
4    * The ObjectStyle Group Software License, Version 1.0 
5    *
6    * Copyright (c) 2002 The ObjectStyle Group 
7    * and individual authors of the software.  All rights reserved.
8    *
9    * Redistribution and use in source and binary forms, with or without
10   * modification, are permitted provided that the following conditions
11   * are met:
12   *
13   * 1. Redistributions of source code must retain the above copyright
14   *    notice, this list of conditions and the following disclaimer. 
15   *
16   * 2. Redistributions in binary form must reproduce the above copyright
17   *    notice, this list of conditions and the following disclaimer in
18   *    the documentation and/or other materials provided with the
19   *    distribution.
20   *
21   * 3. The end-user documentation included with the redistribution, if
22   *    any, must include the following acknowlegement:  
23   *       "This product includes software developed by the 
24   *        ObjectStyle Group (http://objectstyle.org/)."
25   *    Alternately, this acknowlegement may appear in the software itself,
26   *    if and wherever such third-party acknowlegements normally appear.
27   *
28   * 4. The names "ObjectStyle Group" and "Cayenne" 
29   *    must not be used to endorse or promote products derived
30   *    from this software without prior written permission. For written 
31   *    permission, please contact andrus@objectstyle.org.
32   *
33   * 5. Products derived from this software may not be called "ObjectStyle"
34   *    nor may "ObjectStyle" appear in their names without prior written
35   *    permission of the ObjectStyle Group.
36   *
37   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40   * DISCLAIMED.  IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
41   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48   * SUCH DAMAGE.
49   * ====================================================================
50   *
51   * This software consists of voluntary contributions made by many
52   * individuals on behalf of the ObjectStyle Group.  For more
53   * information on the ObjectStyle Group, please see
54   * <http://objectstyle.org/>.
55   *
56   */
57  
58  
59  import java.util.Enumeration;
60  
61  import com.webobjects.foundation.NSDictionary;
62  
63  /** Log4J renderer for NSArrays
64    *
65    * @author Andrei Adamchik
66    */
67  public final class NSDictionaryRenderer extends CollectionRenderer {
68      public String doRender(Object o) {
69          
70          NSDictionary d = (NSDictionary) o;
71          int len = d.count();
72          if (len == 0) {
73              return "{}";
74          }
75  
76          StringBuffer buf = new StringBuffer("{");
77          Enumeration en = d.keyEnumerator();
78          while (en.hasMoreElements()) {
79              String key = (String)en.nextElement();
80              buf.append("\n\t")
81              .append(key)
82              .append(" = ")
83              .append(renderObject(d.objectForKey(key)));
84          }
85          return buf.append("\n}").toString();
86      }
87  }