AttributesRenderer xref

View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *      http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17
    18  package org.apache.log4j.or.sax;
    19
    20  import org.apache.log4j.or.ObjectRenderer;
    21
    22  import org.xml.sax.Attributes;
    23
    24  /**
    25     Render <code>org.xml.sax.Attributes</code> objects.
    26
    27     @author Ceki G&uuml;lc&uuml;
    28     @since 1.2 */
    29  public class AttributesRenderer implements ObjectRenderer {
    30
    31    public
    32    AttributesRenderer() {
    33    }
    34
    35
    36    /**
    37       Render a {@link org.xml.sax.Attributes}.
    38    */
    39    public
    40    String  doRender(Object o) {
    41      if(o instanceof Attributes) {
    42        StringBuffer sbuf = new StringBuffer();
    43        Attributes a = (Attributes) o;
    44        int len = a.getLength();
    45        boolean first = true;
    46        for(int i = 0; i < len; i++) {
    47  	if(first) {
    48  	  first = false;
    49  	} else {
    50  	  sbuf.append(", ");
    51  	}
    52  	sbuf.append(a.getQName(i));
    53  	sbuf.append('=');
    54  	sbuf.append(a.getValue(i));
    55        }
    56        return sbuf.toString();
    57      } else {
    58        try {
    59          return o.toString();
    60        } catch(Exception ex) {
    61            return ex.toString();
    62        }
    63      }
    64    }
    65  }
    66