cvs commit: spice/sandbox/metaclass/src/java/org/realityforge/metaclass/io SAXMetaClassSerializer.java
Peter Donald <[email protected]>
| Newsgroups | gmane.comp.java.spice.cvs |
|---|---|
| Message-ID | <[email protected]> |
donaldp 03/10/29 02:19:15
Modified: sandbox/metaclass/src/java/org/realityforge/metaclass/io
SAXMetaClassSerializer.java
Log:
Wrap all method parameters in a <parameters/> element
Revision Changes Path
1.8 +29 -4 spice/sandbox/metaclass/src/java/org/realityforge/metaclass/io/SAXMetaClassSerializer.java
Index: SAXMetaClassSerializer.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/metaclass/src/java/org/realityforge/metaclass/io/SAXMetaClassSerializer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SAXMetaClassSerializer.java 29 Oct 2003 09:37:59 -0000 1.7
+++ SAXMetaClassSerializer.java 29 Oct 2003 10:19:15 -0000 1.8
@@ -21,7 +21,7 @@
* to a SAX2 compliant ContentHandler.
*
* @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
- * @version $Revision: 1.7 $ $Date: 2003/10/29 09:37:59 $
+ * @version $Revision: 1.8 $ $Date: 2003/10/29 10:19:15 $
*/
public class SAXMetaClassSerializer
{
@@ -61,6 +61,11 @@
static final String METHOD_ELEMENT = "method";
/**
+ * Constant for name of method parameters group element.
+ */
+ static final String PARAMETERS_ELEMENT = "parameters";
+
+ /**
* Constant for name of method parameters element.
*/
static final String PARAMETER_ELEMENT = "parameter";
@@ -153,7 +158,7 @@
{
return;
}
- start( handler, FIELDS_ELEMENT, new AttributesImpl() );
+ start( handler, FIELDS_ELEMENT );
for( int i = 0; i < descriptors.length; i++ )
{
serializeField( handler, descriptors[ i ] );
@@ -195,7 +200,7 @@
{
return;
}
- start( handler, METHODS_ELEMENT, new AttributesImpl() );
+ start( handler, METHODS_ELEMENT );
for( int i = 0; i < descriptors.length; i++ )
{
serializeMethod( handler, descriptors[ i ] );
@@ -234,10 +239,16 @@
final ParameterDescriptor[] parameters )
throws SAXException
{
+ if( 0 == parameters.length )
+ {
+ return;
+ }
+ start( handler, PARAMETERS_ELEMENT );
for( int i = 0; i < parameters.length; i++ )
{
serializeParameter( handler, parameters[ i ] );
}
+ end( handler, PARAMETERS_ELEMENT );
}
/**
@@ -273,7 +284,7 @@
{
return;
}
- start( handler, ATTRIBUTES_ELEMENT, new AttributesImpl() );
+ start( handler, ATTRIBUTES_ELEMENT );
for( int i = 0; i < attributes.length; i++ )
{
serializeAttribute( handler, attributes[ i ] );
@@ -355,6 +366,20 @@
final String value )
{
atts.addAttribute( EMPTY_NAMESPACE, name, name, CDATA_TYPE, value );
+ }
+
+ /**
+ * Helper method to output a start element.
+ *
+ * @param handler the handler
+ * @param name the element name
+ * @throws SAXException if error during serilization
+ */
+ void start( final ContentHandler handler,
+ final String name )
+ throws SAXException
+ {
+ start( handler, name, new AttributesImpl() );
}
/**
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/