KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > ojb > broker > util > XmlHelper


1 package org.apache.ojb.broker.util;
2
3 /* Copyright 2002-2005 The Apache Software Foundation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * 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 import org.apache.commons.lang.SystemUtils;
19
20 import java.util.Properties JavaDoc;
21 import java.util.Enumeration JavaDoc;
22
23 /**
24  * Simple helper class with static methods for common XML-handling tasks.
25  *
26  * @version CVS $Id: XmlHelper.java,v 1.1.2.2 2005/12/21 22:27:47 tomdz Exp $
27  * @since OJB 1.0.4
28  */

29 public class XmlHelper
30 {
31
32     /** End-of-line string used in serialized XML. */
33     public static final String JavaDoc XML_EOL = SystemUtils.LINE_SEPARATOR;
34
35     /**
36      * Returns an XML-string with serialized configuration attributes.
37      * Used when serializing {@link org.apache.ojb.broker.metadata.AttributeContainer} attributes.
38      * @param prefix the line prefix (ie indent) or null for no prefix
39      * @param attributeProperties the properties object holding attributes to be serialized
40      * (null-safe)
41      * @return XML-string with serialized configuration attributes (never null)
42      */

43     public static String JavaDoc getSerializedAttributes(final String JavaDoc prefix,
44                                                  final Properties JavaDoc attributeProperties)
45     {
46         final StringBuffer JavaDoc buf = new StringBuffer JavaDoc();
47         appendSerializedAttributes(buf, prefix, attributeProperties);
48         return buf.toString();
49     }
50
51     /**
52      * Appends an XML-string with serialized configuration attributes to the specified buffer.
53      * Used when serializing {@link org.apache.ojb.broker.metadata.AttributeContainer} attributes.
54      * @param buf the string buffer to append to
55      * @param prefix the line prefix (ie indent) or null for no prefix
56      * @param attributeProperties the properties object holding attributes to be serialized
57      * (null-safe)
58      */

59     public static void appendSerializedAttributes(final StringBuffer JavaDoc buf,
60                                                   final String JavaDoc prefix,
61                                                   final Properties JavaDoc attributeProperties)
62     {
63         if (attributeProperties != null)
64         {
65             final Enumeration JavaDoc keys = attributeProperties.keys();
66             while (keys.hasMoreElements())
67             {
68                 final String JavaDoc key = (String JavaDoc) keys.nextElement();
69                 final String JavaDoc value = attributeProperties.getProperty( key );
70                 if (prefix != null)
71                 {
72                     buf.append(prefix);
73                 }
74                 buf.append("<attribute attribute-name=\"").append(key);
75                 buf.append("\" attribute-value=\"" ).append(value);
76                 buf.append("\"/>");
77                 buf.append(XML_EOL);
78             }
79         }
80     }
81
82 }
83
Popular Tags