Author: arminw
Date: Sun Jan 28 02:18:02 2007
New Revision: 500770

URL: http://svn.apache.org/viewvc?view=rev&rev=500770
Log:
initial check in, helper class for xml output

Added:
    db/ojb/trunk/src/java/org/apache/ojb/broker/util/XmlHelper.java

Added: db/ojb/trunk/src/java/org/apache/ojb/broker/util/XmlHelper.java
URL: 
http://svn.apache.org/viewvc/db/ojb/trunk/src/java/org/apache/ojb/broker/util/XmlHelper.java?view=auto&rev=500770
==============================================================================
--- db/ojb/trunk/src/java/org/apache/ojb/broker/util/XmlHelper.java (added)
+++ db/ojb/trunk/src/java/org/apache/ojb/broker/util/XmlHelper.java Sun Jan 28 
02:18:02 2007
@@ -0,0 +1,82 @@
+package org.apache.ojb.broker.util;
+
+/* Copyright 2002-2005 The Apache Software Foundation
+ *
+ * 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.
+ */
+
+import org.apache.commons.lang.SystemUtils;
+
+import java.util.Properties;
+import java.util.Enumeration;
+
+/**
+ * Simple helper class with static methods for common XML-handling tasks.
+ *
+ * @version CVS $Id: XmlHelper.java 365232 2005-12-21 23:36:07 +0100 (Mi, 21 
Dez 2005) tomdz $
+ * @since OJB 1.0.4
+ */
+public class XmlHelper
+{
+
+    /** End-of-line string used in serialized XML. */
+    public static final String XML_EOL = SystemUtils.LINE_SEPARATOR;
+
+    /**
+     * Returns an XML-string with serialized configuration attributes.
+     * Used when serializing [EMAIL PROTECTED] 
org.apache.ojb.broker.metadata.AttributeContainer} attributes.
+     * @param prefix the line prefix (ie indent) or null for no prefix
+     * @param attributeProperties the properties object holding attributes to 
be serialized
+     * (null-safe)
+     * @return XML-string with serialized configuration attributes (never null)
+     */
+    public static String getSerializedAttributes(final String prefix,
+                                                 final Properties 
attributeProperties)
+    {
+        final StringBuffer buf = new StringBuffer();
+        appendSerializedAttributes(buf, prefix, attributeProperties);
+        return buf.toString();
+    }
+
+    /**
+     * Appends an XML-string with serialized configuration attributes to the 
specified buffer.
+     * Used when serializing [EMAIL PROTECTED] 
org.apache.ojb.broker.metadata.AttributeContainer} attributes.
+     * @param buf the string buffer to append to
+     * @param prefix the line prefix (ie indent) or null for no prefix
+     * @param attributeProperties the properties object holding attributes to 
be serialized
+     * (null-safe)
+     */
+    public static void appendSerializedAttributes(final StringBuffer buf,
+                                                  final String prefix,
+                                                  final Properties 
attributeProperties)
+    {
+        if (attributeProperties != null)
+        {
+            final Enumeration keys = attributeProperties.keys();
+            while (keys.hasMoreElements())
+            {
+                final String key = (String) keys.nextElement();
+                final String value = attributeProperties.getProperty( key );
+                if (prefix != null)
+                {
+                    buf.append(prefix);
+                }
+                buf.append("<attribute attribute-name=\"").append(key);
+                buf.append("\" attribute-value=\"" ).append(value);
+                buf.append("\"/>");
+                buf.append(XML_EOL);
+            }
+        }
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to