View Javadoc
1   // =================== DO NOT EDIT THIS FILE ====================
2   // Generated by Modello 2.3.0,
3   // any modifications will be overwritten.
4   // ==============================================================
5   
6   package org.codehaus.modello.test.features.io.xpp3;
7   
8     //---------------------------------/
9    //- Imported classes and packages -/
10  //---------------------------------/
11  
12  import java.io.OutputStream;
13  import java.io.Writer;
14  import java.util.Iterator;
15  import org.codehaus.modello.test.features.Action;
16  import org.codehaus.modello.test.features.AnnotationTest;
17  import org.codehaus.modello.test.features.ArrayFeatures;
18  import org.codehaus.modello.test.features.AssociationFeatures;
19  import org.codehaus.modello.test.features.BaseClass;
20  import org.codehaus.modello.test.features.BidiInList;
21  import org.codehaus.modello.test.features.BidiInSet;
22  import org.codehaus.modello.test.features.Bidirectional;
23  import org.codehaus.modello.test.features.ContentTest;
24  import org.codehaus.modello.test.features.DueTo;
25  import org.codehaus.modello.test.features.Features;
26  import org.codehaus.modello.test.features.File;
27  import org.codehaus.modello.test.features.InterfacesFeature;
28  import org.codehaus.modello.test.features.JavaFeatures;
29  import org.codehaus.modello.test.features.NodeItem;
30  import org.codehaus.modello.test.features.Reference;
31  import org.codehaus.modello.test.features.SimpleInterface;
32  import org.codehaus.modello.test.features.SimpleTypes;
33  import org.codehaus.modello.test.features.SubClassLevel1;
34  import org.codehaus.modello.test.features.SubClassLevel2;
35  import org.codehaus.modello.test.features.SubClassLevel3;
36  import org.codehaus.modello.test.features.SubInterface;
37  import org.codehaus.modello.test.features.SuperThing;
38  import org.codehaus.modello.test.features.Thing;
39  import org.codehaus.modello.test.features.Thingy;
40  import org.codehaus.modello.test.features.XdocFeatures;
41  import org.codehaus.modello.test.features.XmlAttributes;
42  import org.codehaus.modello.test.features.XmlContent;
43  import org.codehaus.modello.test.features.XmlContentLong;
44  import org.codehaus.modello.test.features.XmlContentLongWithAttributes;
45  import org.codehaus.modello.test.features.XmlFeatures;
46  import org.codehaus.modello.test.features.XmlFieldsOrder;
47  import org.codehaus.modello.test.features.XmlFieldsOrderParent;
48  import org.codehaus.modello.test.features.XmlFieldsOrderParent2;
49  import org.codehaus.modello.test.features.XmlTransientFields;
50  import org.codehaus.modello.test.features.XsdFeatures;
51  import org.codehaus.modello.test.features.other.PackageNameFeature;
52  import org.codehaus.modello.test.features.other.SubInterfaceInPackage;
53  import org.codehaus.plexus.util.xml.Xpp3Dom;
54  import org.codehaus.plexus.util.xml.pull.MXSerializer;
55  import org.codehaus.plexus.util.xml.pull.XmlSerializer;
56  
57  /**
58   * Class ModelloFeaturesTestXpp3Writer.
59   * 
60   * @version $Revision$ $Date$
61   */
62  @SuppressWarnings( "all" )
63  public class ModelloFeaturesTestXpp3Writer
64  {
65  
66        //--------------------------/
67       //- Class/Member Variables -/
68      //--------------------------/
69  
70      /**
71       * Field NAMESPACE.
72       */
73      private static final String NAMESPACE = null;
74  
75      /**
76       * Field fileComment.
77       */
78      private String fileComment = null;
79  
80  
81        //-----------/
82       //- Methods -/
83      //-----------/
84  
85      /**
86       * Method setFileComment.
87       * 
88       * @param fileComment a fileComment object.
89       */
90      public void setFileComment( String fileComment )
91      {
92          this.fileComment = fileComment;
93      } //-- void setFileComment( String )
94  
95      /**
96       * Method write.
97       * 
98       * @param writer a writer object.
99       * @param features a features object.
100      * @throws java.io.IOException java.io.IOException if any.
101      */
102     public void write( Writer writer, Features features )
103         throws java.io.IOException
104     {
105         XmlSerializer serializer = new MXSerializer();
106         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
107         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
108         serializer.setOutput( writer );
109         serializer.startDocument( features.getModelEncoding(), null );
110         writeFeatures( features, "features-demo", serializer );
111         serializer.endDocument();
112     } //-- void write( Writer, Features )
113 
114     /**
115      * Method write.
116      * 
117      * @param stream a stream object.
118      * @param features a features object.
119      * @throws java.io.IOException java.io.IOException if any.
120      */
121     public void write( OutputStream stream, Features features )
122         throws java.io.IOException
123     {
124         XmlSerializer serializer = new MXSerializer();
125         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", "  " );
126         serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
127         serializer.setOutput( stream, features.getModelEncoding() );
128         serializer.startDocument( features.getModelEncoding(), null );
129         writeFeatures( features, "features-demo", serializer );
130         serializer.endDocument();
131     } //-- void write( OutputStream, Features )
132 
133     /**
134      * Method writeAction.
135      * 
136      * @param action a action object.
137      * @param serializer a serializer object.
138      * @param tagName a tagName object.
139      * @throws java.io.IOException java.io.IOException if any.
140      */
141     private void writeAction( Action action, String tagName, XmlSerializer serializer )
142         throws java.io.IOException
143     {
144         serializer.startTag( NAMESPACE, tagName );
145         if ( action.getDev() != null )
146         {
147             serializer.attribute( NAMESPACE, "dev", action.getDev() );
148         }
149         serializer.text( action.getAction() );
150         serializer.endTag( NAMESPACE, tagName );
151     } //-- void writeAction( Action, String, XmlSerializer )
152 
153     /**
154      * Method writeAnnotationTest.
155      * 
156      * @param annotationTest a annotationTest object.
157      * @param serializer a serializer object.
158      * @param tagName a tagName object.
159      * @throws java.io.IOException java.io.IOException if any.
160      */
161     private void writeAnnotationTest( AnnotationTest annotationTest, String tagName, XmlSerializer serializer )
162         throws java.io.IOException
163     {
164         serializer.startTag( NAMESPACE, tagName );
165         if ( annotationTest.getAnyField() != null )
166         {
167             serializer.startTag( NAMESPACE, "anyField" ).text( annotationTest.getAnyField() ).endTag( NAMESPACE, "anyField" );
168         }
169         serializer.endTag( NAMESPACE, tagName );
170     } //-- void writeAnnotationTest( AnnotationTest, String, XmlSerializer )
171 
172     /**
173      * Method writeArrayFeatures.
174      * 
175      * @param arrayFeatures a arrayFeatures object.
176      * @param serializer a serializer object.
177      * @param tagName a tagName object.
178      * @throws java.io.IOException java.io.IOException if any.
179      */
180     private void writeArrayFeatures( ArrayFeatures arrayFeatures, String tagName, XmlSerializer serializer )
181         throws java.io.IOException
182     {
183         serializer.startTag( NAMESPACE, tagName );
184         serializer.endTag( NAMESPACE, tagName );
185     } //-- void writeArrayFeatures( ArrayFeatures, String, XmlSerializer )
186 
187     /**
188      * Method writeAssociationFeatures.
189      * 
190      * @param associationFeatures a associationFeatures object.
191      * @param serializer a serializer object.
192      * @param tagName a tagName object.
193      * @throws java.io.IOException java.io.IOException if any.
194      */
195     private void writeAssociationFeatures( AssociationFeatures associationFeatures, String tagName, XmlSerializer serializer )
196         throws java.io.IOException
197     {
198         serializer.startTag( NAMESPACE, tagName );
199         if ( ( associationFeatures.getListReferences() != null ) && ( associationFeatures.getListReferences().size() > 0 ) )
200         {
201             serializer.startTag( NAMESPACE, "listReferences" );
202             for ( Iterator iter = associationFeatures.getListReferences().iterator(); iter.hasNext(); )
203             {
204                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
205                 writeReference( o, "listReference", serializer );
206             }
207             serializer.endTag( NAMESPACE, "listReferences" );
208         }
209         if ( ( associationFeatures.getSetReferences() != null ) && ( associationFeatures.getSetReferences().size() > 0 ) )
210         {
211             serializer.startTag( NAMESPACE, "setReferences" );
212             for ( Iterator iter = associationFeatures.getSetReferences().iterator(); iter.hasNext(); )
213             {
214                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
215                 writeReference( o, "setReference", serializer );
216             }
217             serializer.endTag( NAMESPACE, "setReferences" );
218         }
219         if ( ( associationFeatures.getListStrings() != null ) && ( associationFeatures.getListStrings().size() > 0 ) )
220         {
221             serializer.startTag( NAMESPACE, "listStrings" );
222             for ( Iterator iter = associationFeatures.getListStrings().iterator(); iter.hasNext(); )
223             {
224                 String listString = (String) iter.next();
225                 serializer.startTag( NAMESPACE, "listString" ).text( listString ).endTag( NAMESPACE, "listString" );
226             }
227             serializer.endTag( NAMESPACE, "listStrings" );
228         }
229         if ( ( associationFeatures.getSetStrings() != null ) && ( associationFeatures.getSetStrings().size() > 0 ) )
230         {
231             serializer.startTag( NAMESPACE, "setStrings" );
232             for ( Iterator iter = associationFeatures.getSetStrings().iterator(); iter.hasNext(); )
233             {
234                 String setString = (String) iter.next();
235                 serializer.startTag( NAMESPACE, "setString" ).text( setString ).endTag( NAMESPACE, "setString" );
236             }
237             serializer.endTag( NAMESPACE, "setStrings" );
238         }
239         if ( ( associationFeatures.getProperties() != null ) && ( associationFeatures.getProperties().size() > 0 ) )
240         {
241             serializer.startTag( NAMESPACE, "properties" );
242             for ( Iterator iter = associationFeatures.getProperties().keySet().iterator(); iter.hasNext(); )
243             {
244                 String key = (String) iter.next();
245                 String value = (String) associationFeatures.getProperties().get( key );
246                 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
247             }
248             serializer.endTag( NAMESPACE, "properties" );
249         }
250         if ( associationFeatures.getBidi() != null )
251         {
252             writeBidirectional( (Bidirectional) associationFeatures.getBidi(), "bidi", serializer );
253         }
254         if ( ( associationFeatures.getListOfBidis() != null ) && ( associationFeatures.getListOfBidis().size() > 0 ) )
255         {
256             serializer.startTag( NAMESPACE, "listOfBidis" );
257             for ( Iterator iter = associationFeatures.getListOfBidis().iterator(); iter.hasNext(); )
258             {
259                 BidiInList"../../../../../../../org/codehaus/modello/test/features/BidiInList.html#BidiInList">BidiInList o = (BidiInList) iter.next();
260                 writeBidiInList( o, "listOfBidi", serializer );
261             }
262             serializer.endTag( NAMESPACE, "listOfBidis" );
263         }
264         if ( ( associationFeatures.getSetOfBidis() != null ) && ( associationFeatures.getSetOfBidis().size() > 0 ) )
265         {
266             serializer.startTag( NAMESPACE, "setOfBidis" );
267             for ( Iterator iter = associationFeatures.getSetOfBidis().iterator(); iter.hasNext(); )
268             {
269                 BidiInSet="../../../../../../../org/codehaus/modello/test/features/BidiInSet.html#BidiInSet">BidiInSet o = (BidiInSet) iter.next();
270                 writeBidiInSet( o, "setOfBidi", serializer );
271             }
272             serializer.endTag( NAMESPACE, "setOfBidis" );
273         }
274         serializer.endTag( NAMESPACE, tagName );
275     } //-- void writeAssociationFeatures( AssociationFeatures, String, XmlSerializer )
276 
277     /**
278      * Method writeBaseClass.
279      * 
280      * @param baseClass a baseClass object.
281      * @param serializer a serializer object.
282      * @param tagName a tagName object.
283      * @throws java.io.IOException java.io.IOException if any.
284      */
285     private void writeBaseClass( BaseClass baseClass, String tagName, XmlSerializer serializer )
286         throws java.io.IOException
287     {
288         serializer.startTag( NAMESPACE, tagName );
289         if ( baseClass.getBaseAttribute() != 0 )
290         {
291             serializer.attribute( NAMESPACE, "baseAttribute", String.valueOf( baseClass.getBaseAttribute() ) );
292         }
293         if ( baseClass.getBaseElement() != 0 )
294         {
295             serializer.startTag( NAMESPACE, "baseElement" ).text( String.valueOf( baseClass.getBaseElement() ) ).endTag( NAMESPACE, "baseElement" );
296         }
297         serializer.endTag( NAMESPACE, tagName );
298     } //-- void writeBaseClass( BaseClass, String, XmlSerializer )
299 
300     /**
301      * Method writeBidiInList.
302      * 
303      * @param bidiInList a bidiInList object.
304      * @param serializer a serializer object.
305      * @param tagName a tagName object.
306      * @throws java.io.IOException java.io.IOException if any.
307      */
308     private void writeBidiInList( BidiInList bidiInList, String tagName, XmlSerializer serializer )
309         throws java.io.IOException
310     {
311         serializer.startTag( NAMESPACE, tagName );
312         if ( bidiInList.getParent() != null )
313         {
314             writeAssociationFeatures( (AssociationFeatures) bidiInList.getParent(), "parent", serializer );
315         }
316         serializer.endTag( NAMESPACE, tagName );
317     } //-- void writeBidiInList( BidiInList, String, XmlSerializer )
318 
319     /**
320      * Method writeBidiInSet.
321      * 
322      * @param bidiInSet a bidiInSet object.
323      * @param serializer a serializer object.
324      * @param tagName a tagName object.
325      * @throws java.io.IOException java.io.IOException if any.
326      */
327     private void writeBidiInSet( BidiInSet bidiInSet, String tagName, XmlSerializer serializer )
328         throws java.io.IOException
329     {
330         serializer.startTag( NAMESPACE, tagName );
331         if ( bidiInSet.getParent() != null )
332         {
333             writeAssociationFeatures( (AssociationFeatures) bidiInSet.getParent(), "parent", serializer );
334         }
335         serializer.endTag( NAMESPACE, tagName );
336     } //-- void writeBidiInSet( BidiInSet, String, XmlSerializer )
337 
338     /**
339      * Method writeBidirectional.
340      * 
341      * @param bidirectional a bidirectional object.
342      * @param serializer a serializer object.
343      * @param tagName a tagName object.
344      * @throws java.io.IOException java.io.IOException if any.
345      */
346     private void writeBidirectional( Bidirectional bidirectional, String tagName, XmlSerializer serializer )
347         throws java.io.IOException
348     {
349         serializer.startTag( NAMESPACE, tagName );
350         if ( bidirectional.getParent() != null )
351         {
352             writeAssociationFeatures( (AssociationFeatures) bidirectional.getParent(), "parent", serializer );
353         }
354         serializer.endTag( NAMESPACE, tagName );
355     } //-- void writeBidirectional( Bidirectional, String, XmlSerializer )
356 
357     /**
358      * Method writeContentTest.
359      * 
360      * @param contentTest a contentTest object.
361      * @param serializer a serializer object.
362      * @param tagName a tagName object.
363      * @throws java.io.IOException java.io.IOException if any.
364      */
365     private void writeContentTest( ContentTest contentTest, String tagName, XmlSerializer serializer )
366         throws java.io.IOException
367     {
368         serializer.startTag( NAMESPACE, tagName );
369         if ( contentTest.getAttr() != null )
370         {
371             serializer.attribute( NAMESPACE, "attr", contentTest.getAttr() );
372         }
373         if ( contentTest.getAttr2() != 0 )
374         {
375             serializer.attribute( NAMESPACE, "attr2", String.valueOf( contentTest.getAttr2() ) );
376         }
377         serializer.text( contentTest.getContent() );
378         serializer.endTag( NAMESPACE, tagName );
379     } //-- void writeContentTest( ContentTest, String, XmlSerializer )
380 
381     /**
382      * Method writeDueTo.
383      * 
384      * @param dueTo a dueTo object.
385      * @param serializer a serializer object.
386      * @param tagName a tagName object.
387      * @throws java.io.IOException java.io.IOException if any.
388      */
389     private void writeDueTo( DueTo dueTo, String tagName, XmlSerializer serializer )
390         throws java.io.IOException
391     {
392         serializer.startTag( NAMESPACE, tagName );
393         if ( dueTo.getName() != null )
394         {
395             serializer.attribute( NAMESPACE, "name", dueTo.getName() );
396         }
397         if ( dueTo.getEmail() != null )
398         {
399             serializer.attribute( NAMESPACE, "email", dueTo.getEmail() );
400         }
401         serializer.endTag( NAMESPACE, tagName );
402     } //-- void writeDueTo( DueTo, String, XmlSerializer )
403 
404     /**
405      * Method writeFeatures.
406      * 
407      * @param features a features object.
408      * @param serializer a serializer object.
409      * @param tagName a tagName object.
410      * @throws java.io.IOException java.io.IOException if any.
411      */
412     private void writeFeatures( Features features, String tagName, XmlSerializer serializer )
413         throws java.io.IOException
414     {
415         if ( this.fileComment != null )
416         {
417         serializer.comment(this.fileComment);
418         }
419         serializer.setPrefix( "", "http://codehaus-plexus.github.io/FEATURES/1.0.0" );
420         serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
421         serializer.startTag( NAMESPACE, tagName );
422         serializer.attribute( "", "xsi:schemaLocation", "http://codehaus-plexus.github.io/FEATURES/1.0.0 http://codehaus-plexus.github.io/features-1.0.0.xsd" );
423         if ( features.getVersionField() != null )
424         {
425             serializer.startTag( NAMESPACE, "versionField" ).text( features.getVersionField() ).endTag( NAMESPACE, "versionField" );
426         }
427         if ( features.getComment() != null )
428         {
429             serializer.startTag( NAMESPACE, "comment" ).text( features.getComment() ).endTag( NAMESPACE, "comment" );
430         }
431         if ( features.getDescription() != null )
432         {
433             serializer.startTag( NAMESPACE, "description" ).text( features.getDescription() ).endTag( NAMESPACE, "description" );
434         }
435         if ( features.getRequired() != null )
436         {
437             serializer.startTag( NAMESPACE, "required" ).text( features.getRequired() ).endTag( NAMESPACE, "required" );
438         }
439         if ( features.getIdentifier() != null )
440         {
441             serializer.startTag( NAMESPACE, "identifier" ).text( features.getIdentifier() ).endTag( NAMESPACE, "identifier" );
442         }
443         if ( features.getIdentifierPart2() != null )
444         {
445             writeReference( (Reference) features.getIdentifierPart2(), "identifierPart2", serializer );
446         }
447         if ( features.getSimpleTypes() != null )
448         {
449             writeSimpleTypes( (SimpleTypes) features.getSimpleTypes(), "simpleTypes", serializer );
450         }
451         if ( features.getDefaultValues() != null )
452         {
453             writeSimpleTypes( (SimpleTypes) features.getDefaultValues(), "defaultValues", serializer );
454         }
455         if ( features.getArrays() != null )
456         {
457             writeArrayFeatures( (ArrayFeatures) features.getArrays(), "arrays", serializer );
458         }
459         if ( features.getAssociationFeatures() != null )
460         {
461             writeAssociationFeatures( (AssociationFeatures) features.getAssociationFeatures(), "associationFeatures", serializer );
462         }
463         if ( features.getJavaFeatures() != null )
464         {
465             writeJavaFeatures( (JavaFeatures) features.getJavaFeatures(), "javaFeatures", serializer );
466         }
467         if ( features.getXmlFeatures() != null )
468         {
469             writeXmlFeatures( (XmlFeatures) features.getXmlFeatures(), "xmlFeatures", serializer );
470         }
471         if ( features.getXdocFeatures() != null )
472         {
473             writeXdocFeatures( (XdocFeatures) features.getXdocFeatures(), "xdocFeatures", serializer );
474         }
475         if ( features.getNode() != null )
476         {
477             writeNodeItem( (NodeItem) features.getNode(), "node", serializer );
478         }
479         if ( features.getCloneable() != null )
480         {
481             writeThing( (Thing) features.getCloneable(), "cloneable", serializer );
482         }
483         if ( features.getFile() != null )
484         {
485             writeFile( (File) features.getFile(), "file", serializer );
486         }
487         if ( features.getAction() != null )
488         {
489             writeAction( (Action) features.getAction(), "action", serializer );
490         }
491         serializer.endTag( NAMESPACE, tagName );
492     } //-- void writeFeatures( Features, String, XmlSerializer )
493 
494     /**
495      * Method writeFile.
496      * 
497      * @param file a file object.
498      * @param serializer a serializer object.
499      * @param tagName a tagName object.
500      * @throws java.io.IOException java.io.IOException if any.
501      */
502     private void writeFile( File file, String tagName, XmlSerializer serializer )
503         throws java.io.IOException
504     {
505         serializer.startTag( NAMESPACE, tagName );
506         if ( file.getFile() != null )
507         {
508             serializer.startTag( NAMESPACE, "file" ).text( file.getFile() ).endTag( NAMESPACE, "file" );
509         }
510         serializer.endTag( NAMESPACE, tagName );
511     } //-- void writeFile( File, String, XmlSerializer )
512 
513     /**
514      * Method writeInterfacesFeature.
515      * 
516      * @param interfacesFeature a interfacesFeature object.
517      * @param serializer a serializer object.
518      * @param tagName a tagName object.
519      * @throws java.io.IOException java.io.IOException if any.
520      */
521     private void writeInterfacesFeature( InterfacesFeature interfacesFeature, String tagName, XmlSerializer serializer )
522         throws java.io.IOException
523     {
524         serializer.startTag( NAMESPACE, tagName );
525         if ( interfacesFeature.getId() != null )
526         {
527             serializer.startTag( NAMESPACE, "id" ).text( interfacesFeature.getId() ).endTag( NAMESPACE, "id" );
528         }
529         serializer.endTag( NAMESPACE, tagName );
530     } //-- void writeInterfacesFeature( InterfacesFeature, String, XmlSerializer )
531 
532     /**
533      * Method writeJavaFeatures.
534      * 
535      * @param javaFeatures a javaFeatures object.
536      * @param serializer a serializer object.
537      * @param tagName a tagName object.
538      * @throws java.io.IOException java.io.IOException if any.
539      */
540     private void writeJavaFeatures( JavaFeatures javaFeatures, String tagName, XmlSerializer serializer )
541         throws java.io.IOException
542     {
543         serializer.startTag( NAMESPACE, tagName );
544         if ( javaFeatures.getInterfaces() != null )
545         {
546             writeInterfacesFeature( (InterfacesFeature) javaFeatures.getInterfaces(), "interfaces", serializer );
547         }
548         if ( javaFeatures.getPackageName() != null )
549         {
550             writePackageNameFeature( (PackageNameFeature) javaFeatures.getPackageName(), "packageName", serializer );
551         }
552         if ( javaFeatures.getBase() != null )
553         {
554             writeBaseClass( (BaseClass) javaFeatures.getBase(), "base", serializer );
555         }
556         if ( javaFeatures.getSubClass() != null )
557         {
558             writeSubClassLevel1( (SubClassLevel1) javaFeatures.getSubClass(), "subClass", serializer );
559         }
560         if ( javaFeatures.getSubClass2() != null )
561         {
562             writeSubClassLevel2( (SubClassLevel2) javaFeatures.getSubClass2(), "subClass2", serializer );
563         }
564         if ( javaFeatures.getSubClass3() != null )
565         {
566             writeSubClassLevel3( (SubClassLevel3) javaFeatures.getSubClass3(), "subClass3", serializer );
567         }
568         if ( javaFeatures.getAnnotation() != null )
569         {
570             writeAnnotationTest( (AnnotationTest) javaFeatures.getAnnotation(), "annotation", serializer );
571         }
572         serializer.endTag( NAMESPACE, tagName );
573     } //-- void writeJavaFeatures( JavaFeatures, String, XmlSerializer )
574 
575     /**
576      * Method writeNodeItem.
577      * 
578      * @param nodeItem a nodeItem object.
579      * @param serializer a serializer object.
580      * @param tagName a tagName object.
581      * @throws java.io.IOException java.io.IOException if any.
582      */
583     private void writeNodeItem( NodeItem nodeItem, String tagName, XmlSerializer serializer )
584         throws java.io.IOException
585     {
586         serializer.startTag( NAMESPACE, tagName );
587         if ( nodeItem.getValue() != null )
588         {
589             serializer.startTag( NAMESPACE, "value" ).text( nodeItem.getValue() ).endTag( NAMESPACE, "value" );
590         }
591         if ( nodeItem.getChild() != null )
592         {
593             writeNodeItem( (NodeItem) nodeItem.getChild(), "child", serializer );
594         }
595         serializer.endTag( NAMESPACE, tagName );
596     } //-- void writeNodeItem( NodeItem, String, XmlSerializer )
597 
598     /**
599      * Method writePackageNameFeature.
600      * 
601      * @param packageNameFeature a packageNameFeature object.
602      * @param serializer a serializer object.
603      * @param tagName a tagName object.
604      * @throws java.io.IOException java.io.IOException if any.
605      */
606     private void writePackageNameFeature( PackageNameFeature packageNameFeature, String tagName, XmlSerializer serializer )
607         throws java.io.IOException
608     {
609         serializer.startTag( NAMESPACE, tagName );
610         if ( packageNameFeature.getReference() != null )
611         {
612             writeReference( (Reference) packageNameFeature.getReference(), "reference", serializer );
613         }
614         serializer.endTag( NAMESPACE, tagName );
615     } //-- void writePackageNameFeature( PackageNameFeature, String, XmlSerializer )
616 
617     /**
618      * Method writeReference.
619      * 
620      * @param reference a reference object.
621      * @param serializer a serializer object.
622      * @param tagName a tagName object.
623      * @throws java.io.IOException java.io.IOException if any.
624      */
625     private void writeReference( Reference reference, String tagName, XmlSerializer serializer )
626         throws java.io.IOException
627     {
628         serializer.startTag( NAMESPACE, tagName );
629         if ( reference.getId() != null )
630         {
631             serializer.startTag( NAMESPACE, "id" ).text( reference.getId() ).endTag( NAMESPACE, "id" );
632         }
633         serializer.endTag( NAMESPACE, tagName );
634     } //-- void writeReference( Reference, String, XmlSerializer )
635 
636     /**
637      * Method writeSimpleTypes.
638      * 
639      * @param simpleTypes a simpleTypes object.
640      * @param serializer a serializer object.
641      * @param tagName a tagName object.
642      * @throws java.io.IOException java.io.IOException if any.
643      */
644     private void writeSimpleTypes( SimpleTypes simpleTypes, String tagName, XmlSerializer serializer )
645         throws java.io.IOException
646     {
647         serializer.startTag( NAMESPACE, tagName );
648         if ( simpleTypes.isPrimitiveBoolean() != true )
649         {
650             serializer.startTag( NAMESPACE, "primitiveBoolean" ).text( String.valueOf( simpleTypes.isPrimitiveBoolean() ) ).endTag( NAMESPACE, "primitiveBoolean" );
651         }
652         if ( simpleTypes.getPrimitiveChar() != 'H' )
653         {
654             serializer.startTag( NAMESPACE, "primitiveChar" ).text( String.valueOf( simpleTypes.getPrimitiveChar() ) ).endTag( NAMESPACE, "primitiveChar" );
655         }
656         if ( simpleTypes.getPrimitiveByte() != 12 )
657         {
658             serializer.startTag( NAMESPACE, "primitiveByte" ).text( String.valueOf( simpleTypes.getPrimitiveByte() ) ).endTag( NAMESPACE, "primitiveByte" );
659         }
660         if ( simpleTypes.getPrimitiveShort() != 1212 )
661         {
662             serializer.startTag( NAMESPACE, "primitiveShort" ).text( String.valueOf( simpleTypes.getPrimitiveShort() ) ).endTag( NAMESPACE, "primitiveShort" );
663         }
664         if ( simpleTypes.getPrimitiveInt() != 121212 )
665         {
666             serializer.startTag( NAMESPACE, "primitiveInt" ).text( String.valueOf( simpleTypes.getPrimitiveInt() ) ).endTag( NAMESPACE, "primitiveInt" );
667         }
668         if ( simpleTypes.getPrimitiveLong() != 1234567890123L )
669         {
670             serializer.startTag( NAMESPACE, "primitiveLong" ).text( String.valueOf( simpleTypes.getPrimitiveLong() ) ).endTag( NAMESPACE, "primitiveLong" );
671         }
672         if ( simpleTypes.getPrimitiveFloat() != 12.12f )
673         {
674             serializer.startTag( NAMESPACE, "primitiveFloat" ).text( String.valueOf( simpleTypes.getPrimitiveFloat() ) ).endTag( NAMESPACE, "primitiveFloat" );
675         }
676         if ( simpleTypes.getPrimitiveDouble() != 12.12 )
677         {
678             serializer.startTag( NAMESPACE, "primitiveDouble" ).text( String.valueOf( simpleTypes.getPrimitiveDouble() ) ).endTag( NAMESPACE, "primitiveDouble" );
679         }
680         if ( ( simpleTypes.getObjectString() != null ) && !simpleTypes.getObjectString().equals( "default value" ) )
681         {
682             serializer.startTag( NAMESPACE, "objectString" ).text( simpleTypes.getObjectString() ).endTag( NAMESPACE, "objectString" );
683         }
684         if ( ( simpleTypes.getObjectDate() != null ) && !simpleTypes.getObjectDate().equals( new java.util.Date( 1356383532012L ) ) )
685         {
686             serializer.startTag( NAMESPACE, "objectDate" ).text( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", java.util.Locale.US ).format( simpleTypes.getObjectDate() ) ).endTag( NAMESPACE, "objectDate" );
687         }
688         if ( simpleTypes.isPrimitiveBooleanNoDefault() != false )
689         {
690             serializer.startTag( NAMESPACE, "primitiveBooleanNoDefault" ).text( String.valueOf( simpleTypes.isPrimitiveBooleanNoDefault() ) ).endTag( NAMESPACE, "primitiveBooleanNoDefault" );
691         }
692         if ( simpleTypes.getPrimitiveCharNoDefault() != '\0' )
693         {
694             serializer.startTag( NAMESPACE, "primitiveCharNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveCharNoDefault() ) ).endTag( NAMESPACE, "primitiveCharNoDefault" );
695         }
696         if ( simpleTypes.getPrimitiveByteNoDefault() != 0 )
697         {
698             serializer.startTag( NAMESPACE, "primitiveByteNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveByteNoDefault() ) ).endTag( NAMESPACE, "primitiveByteNoDefault" );
699         }
700         if ( simpleTypes.getPrimitiveShortNoDefault() != 0 )
701         {
702             serializer.startTag( NAMESPACE, "primitiveShortNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveShortNoDefault() ) ).endTag( NAMESPACE, "primitiveShortNoDefault" );
703         }
704         if ( simpleTypes.getPrimitiveIntNoDefault() != 0 )
705         {
706             serializer.startTag( NAMESPACE, "primitiveIntNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveIntNoDefault() ) ).endTag( NAMESPACE, "primitiveIntNoDefault" );
707         }
708         if ( simpleTypes.getPrimitiveLongNoDefault() != 0L )
709         {
710             serializer.startTag( NAMESPACE, "primitiveLongNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveLongNoDefault() ) ).endTag( NAMESPACE, "primitiveLongNoDefault" );
711         }
712         if ( simpleTypes.getPrimitiveFloatNoDefault() != 0.0f )
713         {
714             serializer.startTag( NAMESPACE, "primitiveFloatNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveFloatNoDefault() ) ).endTag( NAMESPACE, "primitiveFloatNoDefault" );
715         }
716         if ( simpleTypes.getPrimitiveDoubleNoDefault() != 0.0 )
717         {
718             serializer.startTag( NAMESPACE, "primitiveDoubleNoDefault" ).text( String.valueOf( simpleTypes.getPrimitiveDoubleNoDefault() ) ).endTag( NAMESPACE, "primitiveDoubleNoDefault" );
719         }
720         if ( simpleTypes.getObjectStringNoDefault() != null )
721         {
722             serializer.startTag( NAMESPACE, "objectStringNoDefault" ).text( simpleTypes.getObjectStringNoDefault() ).endTag( NAMESPACE, "objectStringNoDefault" );
723         }
724         if ( simpleTypes.getObjectDateNoDefault() != null )
725         {
726             serializer.startTag( NAMESPACE, "objectDateNoDefault" ).text( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", java.util.Locale.US ).format( simpleTypes.getObjectDateNoDefault() ) ).endTag( NAMESPACE, "objectDateNoDefault" );
727         }
728         if ( simpleTypes.getDom() != null )
729         {
730             ((Xpp3Dom) simpleTypes.getDom()).writeToSerializer( NAMESPACE, serializer );
731         }
732         if ( simpleTypes.getContent() != null )
733         {
734             writeContentTest( (ContentTest) simpleTypes.getContent(), "content", serializer );
735         }
736         serializer.endTag( NAMESPACE, tagName );
737     } //-- void writeSimpleTypes( SimpleTypes, String, XmlSerializer )
738 
739     /**
740      * Method writeSubClassLevel1.
741      * 
742      * @param subClassLevel1 a subClassLevel1 object.
743      * @param serializer a serializer object.
744      * @param tagName a tagName object.
745      * @throws java.io.IOException java.io.IOException if any.
746      */
747     private void writeSubClassLevel1( SubClassLevel1 subClassLevel1, String tagName, XmlSerializer serializer )
748         throws java.io.IOException
749     {
750         serializer.startTag( NAMESPACE, tagName );
751         if ( subClassLevel1.getSubAttribute1() != 0L )
752         {
753             serializer.attribute( NAMESPACE, "subAttribute1", String.valueOf( subClassLevel1.getSubAttribute1() ) );
754         }
755         if ( subClassLevel1.getBaseAttribute() != 0 )
756         {
757             serializer.attribute( NAMESPACE, "baseAttribute", String.valueOf( subClassLevel1.getBaseAttribute() ) );
758         }
759         if ( subClassLevel1.getSubElement1() != 0L )
760         {
761             serializer.startTag( NAMESPACE, "subElement1" ).text( String.valueOf( subClassLevel1.getSubElement1() ) ).endTag( NAMESPACE, "subElement1" );
762         }
763         if ( subClassLevel1.getBaseElement() != 0 )
764         {
765             serializer.startTag( NAMESPACE, "baseElement" ).text( String.valueOf( subClassLevel1.getBaseElement() ) ).endTag( NAMESPACE, "baseElement" );
766         }
767         serializer.endTag( NAMESPACE, tagName );
768     } //-- void writeSubClassLevel1( SubClassLevel1, String, XmlSerializer )
769 
770     /**
771      * Method writeSubClassLevel2.
772      * 
773      * @param subClassLevel2 a subClassLevel2 object.
774      * @param serializer a serializer object.
775      * @param tagName a tagName object.
776      * @throws java.io.IOException java.io.IOException if any.
777      */
778     private void writeSubClassLevel2( SubClassLevel2 subClassLevel2, String tagName, XmlSerializer serializer )
779         throws java.io.IOException
780     {
781         serializer.startTag( NAMESPACE, tagName );
782         if ( subClassLevel2.getSubAttribute2() != 0.0f )
783         {
784             serializer.attribute( NAMESPACE, "subAttribute2", String.valueOf( subClassLevel2.getSubAttribute2() ) );
785         }
786         if ( subClassLevel2.getSubAttribute1() != 0L )
787         {
788             serializer.attribute( NAMESPACE, "subAttribute1", String.valueOf( subClassLevel2.getSubAttribute1() ) );
789         }
790         if ( subClassLevel2.getBaseAttribute() != 0 )
791         {
792             serializer.attribute( NAMESPACE, "baseAttribute", String.valueOf( subClassLevel2.getBaseAttribute() ) );
793         }
794         if ( subClassLevel2.getSubElement2() != 0.0f )
795         {
796             serializer.startTag( NAMESPACE, "subElement2" ).text( String.valueOf( subClassLevel2.getSubElement2() ) ).endTag( NAMESPACE, "subElement2" );
797         }
798         if ( subClassLevel2.getSubElement1() != 0L )
799         {
800             serializer.startTag( NAMESPACE, "subElement1" ).text( String.valueOf( subClassLevel2.getSubElement1() ) ).endTag( NAMESPACE, "subElement1" );
801         }
802         if ( subClassLevel2.getBaseElement() != 0 )
803         {
804             serializer.startTag( NAMESPACE, "baseElement" ).text( String.valueOf( subClassLevel2.getBaseElement() ) ).endTag( NAMESPACE, "baseElement" );
805         }
806         serializer.endTag( NAMESPACE, tagName );
807     } //-- void writeSubClassLevel2( SubClassLevel2, String, XmlSerializer )
808 
809     /**
810      * Method writeSubClassLevel3.
811      * 
812      * @param subClassLevel3 a subClassLevel3 object.
813      * @param serializer a serializer object.
814      * @param tagName a tagName object.
815      * @throws java.io.IOException java.io.IOException if any.
816      */
817     private void writeSubClassLevel3( SubClassLevel3 subClassLevel3, String tagName, XmlSerializer serializer )
818         throws java.io.IOException
819     {
820         serializer.startTag( NAMESPACE, tagName );
821         if ( subClassLevel3.getSubAttribute3() != 0.0 )
822         {
823             serializer.attribute( NAMESPACE, "subAttribute3", String.valueOf( subClassLevel3.getSubAttribute3() ) );
824         }
825         if ( subClassLevel3.getSubAttribute2() != 0.0f )
826         {
827             serializer.attribute( NAMESPACE, "subAttribute2", String.valueOf( subClassLevel3.getSubAttribute2() ) );
828         }
829         if ( subClassLevel3.getSubAttribute1() != 0L )
830         {
831             serializer.attribute( NAMESPACE, "subAttribute1", String.valueOf( subClassLevel3.getSubAttribute1() ) );
832         }
833         if ( subClassLevel3.getBaseAttribute() != 0 )
834         {
835             serializer.attribute( NAMESPACE, "baseAttribute", String.valueOf( subClassLevel3.getBaseAttribute() ) );
836         }
837         if ( subClassLevel3.getSubElement3() != 0.0 )
838         {
839             serializer.startTag( NAMESPACE, "subElement3" ).text( String.valueOf( subClassLevel3.getSubElement3() ) ).endTag( NAMESPACE, "subElement3" );
840         }
841         if ( subClassLevel3.getSubElement2() != 0.0f )
842         {
843             serializer.startTag( NAMESPACE, "subElement2" ).text( String.valueOf( subClassLevel3.getSubElement2() ) ).endTag( NAMESPACE, "subElement2" );
844         }
845         if ( subClassLevel3.getSubElement1() != 0L )
846         {
847             serializer.startTag( NAMESPACE, "subElement1" ).text( String.valueOf( subClassLevel3.getSubElement1() ) ).endTag( NAMESPACE, "subElement1" );
848         }
849         if ( subClassLevel3.getBaseElement() != 0 )
850         {
851             serializer.startTag( NAMESPACE, "baseElement" ).text( String.valueOf( subClassLevel3.getBaseElement() ) ).endTag( NAMESPACE, "baseElement" );
852         }
853         serializer.endTag( NAMESPACE, tagName );
854     } //-- void writeSubClassLevel3( SubClassLevel3, String, XmlSerializer )
855 
856     /**
857      * Method writeSuperThing.
858      * 
859      * @param superThing a superThing object.
860      * @param serializer a serializer object.
861      * @param tagName a tagName object.
862      * @throws java.io.IOException java.io.IOException if any.
863      */
864     private void writeSuperThing( SuperThing superThing, String tagName, XmlSerializer serializer )
865         throws java.io.IOException
866     {
867         serializer.startTag( NAMESPACE, tagName );
868         serializer.endTag( NAMESPACE, tagName );
869     } //-- void writeSuperThing( SuperThing, String, XmlSerializer )
870 
871     /**
872      * Method writeThing.
873      * 
874      * @param thing a thing object.
875      * @param serializer a serializer object.
876      * @param tagName a tagName object.
877      * @throws java.io.IOException java.io.IOException if any.
878      */
879     private void writeThing( Thing thing, String tagName, XmlSerializer serializer )
880         throws java.io.IOException
881     {
882         serializer.startTag( NAMESPACE, tagName );
883         if ( thing.isSomeBoolean() != false )
884         {
885             serializer.startTag( NAMESPACE, "someBoolean" ).text( String.valueOf( thing.isSomeBoolean() ) ).endTag( NAMESPACE, "someBoolean" );
886         }
887         if ( thing.getSomeChar() != '\0' )
888         {
889             serializer.startTag( NAMESPACE, "someChar" ).text( String.valueOf( thing.getSomeChar() ) ).endTag( NAMESPACE, "someChar" );
890         }
891         if ( thing.getSomeByte() != 0 )
892         {
893             serializer.startTag( NAMESPACE, "someByte" ).text( String.valueOf( thing.getSomeByte() ) ).endTag( NAMESPACE, "someByte" );
894         }
895         if ( thing.getSomeShort() != 0 )
896         {
897             serializer.startTag( NAMESPACE, "someShort" ).text( String.valueOf( thing.getSomeShort() ) ).endTag( NAMESPACE, "someShort" );
898         }
899         if ( thing.getSomeInt() != 0 )
900         {
901             serializer.startTag( NAMESPACE, "someInt" ).text( String.valueOf( thing.getSomeInt() ) ).endTag( NAMESPACE, "someInt" );
902         }
903         if ( thing.getSomeLong() != 0L )
904         {
905             serializer.startTag( NAMESPACE, "someLong" ).text( String.valueOf( thing.getSomeLong() ) ).endTag( NAMESPACE, "someLong" );
906         }
907         if ( thing.getSomeFloat() != 0.0f )
908         {
909             serializer.startTag( NAMESPACE, "someFloat" ).text( String.valueOf( thing.getSomeFloat() ) ).endTag( NAMESPACE, "someFloat" );
910         }
911         if ( thing.getSomeDouble() != 0.0 )
912         {
913             serializer.startTag( NAMESPACE, "someDouble" ).text( String.valueOf( thing.getSomeDouble() ) ).endTag( NAMESPACE, "someDouble" );
914         }
915         if ( thing.getSomeString() != null )
916         {
917             serializer.startTag( NAMESPACE, "someString" ).text( thing.getSomeString() ).endTag( NAMESPACE, "someString" );
918         }
919         if ( thing.getSomeDate() != null )
920         {
921             serializer.startTag( NAMESPACE, "someDate" ).text( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", java.util.Locale.US ).format( thing.getSomeDate() ) ).endTag( NAMESPACE, "someDate" );
922         }
923         if ( thing.getSomeDom() != null )
924         {
925             ((Xpp3Dom) thing.getSomeDom()).writeToSerializer( NAMESPACE, serializer );
926         }
927         if ( ( thing.getSomeProperties() != null ) && ( thing.getSomeProperties().size() > 0 ) )
928         {
929             serializer.startTag( NAMESPACE, "someProperties" );
930             for ( Iterator iter = thing.getSomeProperties().keySet().iterator(); iter.hasNext(); )
931             {
932                 String key = (String) iter.next();
933                 String value = (String) thing.getSomeProperties().get( key );
934                 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
935             }
936             serializer.endTag( NAMESPACE, "someProperties" );
937         }
938         if ( ( thing.getSomeStringList() != null ) && ( thing.getSomeStringList().size() > 0 ) )
939         {
940             serializer.startTag( NAMESPACE, "someStringList" );
941             for ( Iterator iter = thing.getSomeStringList().iterator(); iter.hasNext(); )
942             {
943                 String someStringList = (String) iter.next();
944                 serializer.startTag( NAMESPACE, "someStringList" ).text( someStringList ).endTag( NAMESPACE, "someStringList" );
945             }
946             serializer.endTag( NAMESPACE, "someStringList" );
947         }
948         if ( ( thing.getSomeStringSet() != null ) && ( thing.getSomeStringSet().size() > 0 ) )
949         {
950             serializer.startTag( NAMESPACE, "someStringSet" );
951             for ( Iterator iter = thing.getSomeStringSet().iterator(); iter.hasNext(); )
952             {
953                 String someStringSet = (String) iter.next();
954                 serializer.startTag( NAMESPACE, "someStringSet" ).text( someStringSet ).endTag( NAMESPACE, "someStringSet" );
955             }
956             serializer.endTag( NAMESPACE, "someStringSet" );
957         }
958         if ( thing.getDeepThingy() != null )
959         {
960             writeThingy( (Thingy) thing.getDeepThingy(), "deepThingy", serializer );
961         }
962         if ( ( thing.getDeepThingyList() != null ) && ( thing.getDeepThingyList().size() > 0 ) )
963         {
964             serializer.startTag( NAMESPACE, "deepThingyList" );
965             for ( Iterator iter = thing.getDeepThingyList().iterator(); iter.hasNext(); )
966             {
967                 Thingyref="../../../../../../../org/codehaus/modello/test/features/Thingy.html#Thingy">Thingy o = (Thingy) iter.next();
968                 writeThingy( o, "deepThingyList", serializer );
969             }
970             serializer.endTag( NAMESPACE, "deepThingyList" );
971         }
972         if ( ( thing.getDeepThingySet() != null ) && ( thing.getDeepThingySet().size() > 0 ) )
973         {
974             serializer.startTag( NAMESPACE, "deepThingySet" );
975             for ( Iterator iter = thing.getDeepThingySet().iterator(); iter.hasNext(); )
976             {
977                 Thingyref="../../../../../../../org/codehaus/modello/test/features/Thingy.html#Thingy">Thingy o = (Thingy) iter.next();
978                 writeThingy( o, "deepThingySet", serializer );
979             }
980             serializer.endTag( NAMESPACE, "deepThingySet" );
981         }
982         if ( thing.getShallowThingy() != null )
983         {
984             writeThingy( (Thingy) thing.getShallowThingy(), "shallowThingy", serializer );
985         }
986         if ( ( thing.getShallowThingyList() != null ) && ( thing.getShallowThingyList().size() > 0 ) )
987         {
988             serializer.startTag( NAMESPACE, "shallowThingyList" );
989             for ( Iterator iter = thing.getShallowThingyList().iterator(); iter.hasNext(); )
990             {
991                 Thingyref="../../../../../../../org/codehaus/modello/test/features/Thingy.html#Thingy">Thingy o = (Thingy) iter.next();
992                 writeThingy( o, "shallowThingyList", serializer );
993             }
994             serializer.endTag( NAMESPACE, "shallowThingyList" );
995         }
996         if ( ( thing.getShallowThingySet() != null ) && ( thing.getShallowThingySet().size() > 0 ) )
997         {
998             serializer.startTag( NAMESPACE, "shallowThingySet" );
999             for ( Iterator iter = thing.getShallowThingySet().iterator(); iter.hasNext(); )
1000             {
1001                 Thingyref="../../../../../../../org/codehaus/modello/test/features/Thingy.html#Thingy">Thingy o = (Thingy) iter.next();
1002                 writeThingy( o, "shallowThingySet", serializer );
1003             }
1004             serializer.endTag( NAMESPACE, "shallowThingySet" );
1005         }
1006         serializer.endTag( NAMESPACE, tagName );
1007     } //-- void writeThing( Thing, String, XmlSerializer )
1008 
1009     /**
1010      * Method writeThingy.
1011      * 
1012      * @param thingy a thingy object.
1013      * @param serializer a serializer object.
1014      * @param tagName a tagName object.
1015      * @throws java.io.IOException java.io.IOException if any.
1016      */
1017     private void writeThingy( Thingy thingy, String tagName, XmlSerializer serializer )
1018         throws java.io.IOException
1019     {
1020         serializer.startTag( NAMESPACE, tagName );
1021         serializer.text( thingy.getSomeContent() );
1022         serializer.endTag( NAMESPACE, tagName );
1023     } //-- void writeThingy( Thingy, String, XmlSerializer )
1024 
1025     /**
1026      * Method writeXdocFeatures.
1027      * 
1028      * @param xdocFeatures a xdocFeatures object.
1029      * @param serializer a serializer object.
1030      * @param tagName a tagName object.
1031      * @throws java.io.IOException java.io.IOException if any.
1032      */
1033     private void writeXdocFeatures( XdocFeatures xdocFeatures, String tagName, XmlSerializer serializer )
1034         throws java.io.IOException
1035     {
1036         serializer.startTag( NAMESPACE, tagName );
1037         if ( xdocFeatures.getField() != null )
1038         {
1039             serializer.startTag( NAMESPACE, "field" ).text( xdocFeatures.getField() ).endTag( NAMESPACE, "field" );
1040         }
1041         if ( xdocFeatures.getXdocSeparatorNone() != null )
1042         {
1043             serializer.startTag( NAMESPACE, "xdocSeparatorNone" ).text( xdocFeatures.getXdocSeparatorNone() ).endTag( NAMESPACE, "xdocSeparatorNone" );
1044         }
1045         if ( xdocFeatures.getXdocSeparatorBlank() != null )
1046         {
1047             serializer.startTag( NAMESPACE, "xdocSeparatorBlank" ).text( xdocFeatures.getXdocSeparatorBlank() ).endTag( NAMESPACE, "xdocSeparatorBlank" );
1048         }
1049         serializer.endTag( NAMESPACE, tagName );
1050     } //-- void writeXdocFeatures( XdocFeatures, String, XmlSerializer )
1051 
1052     /**
1053      * Method writeXmlAttributes.
1054      * 
1055      * @param xmlAttributes a xmlAttributes object.
1056      * @param serializer a serializer object.
1057      * @param tagName a tagName object.
1058      * @throws java.io.IOException java.io.IOException if any.
1059      */
1060     private void writeXmlAttributes( XmlAttributes xmlAttributes, String tagName, XmlSerializer serializer )
1061         throws java.io.IOException
1062     {
1063         serializer.startTag( NAMESPACE, tagName );
1064         if ( xmlAttributes.isPrimitiveBoolean() != true )
1065         {
1066             serializer.attribute( NAMESPACE, "primitiveBoolean", String.valueOf( xmlAttributes.isPrimitiveBoolean() ) );
1067         }
1068         if ( xmlAttributes.getPrimitiveChar() != 'H' )
1069         {
1070             serializer.attribute( NAMESPACE, "primitiveChar", String.valueOf( xmlAttributes.getPrimitiveChar() ) );
1071         }
1072         if ( xmlAttributes.getPrimitiveByte() != 12 )
1073         {
1074             serializer.attribute( NAMESPACE, "primitiveByte", String.valueOf( xmlAttributes.getPrimitiveByte() ) );
1075         }
1076         if ( xmlAttributes.getPrimitiveShort() != 1212 )
1077         {
1078             serializer.attribute( NAMESPACE, "primitiveShort", String.valueOf( xmlAttributes.getPrimitiveShort() ) );
1079         }
1080         if ( xmlAttributes.getPrimitiveInt() != 121212 )
1081         {
1082             serializer.attribute( NAMESPACE, "primitiveInt", String.valueOf( xmlAttributes.getPrimitiveInt() ) );
1083         }
1084         if ( xmlAttributes.getPrimitiveLong() != 1234567890123L )
1085         {
1086             serializer.attribute( NAMESPACE, "primitiveLong", String.valueOf( xmlAttributes.getPrimitiveLong() ) );
1087         }
1088         if ( xmlAttributes.getPrimitiveFloat() != 12.12f )
1089         {
1090             serializer.attribute( NAMESPACE, "primitiveFloat", String.valueOf( xmlAttributes.getPrimitiveFloat() ) );
1091         }
1092         if ( xmlAttributes.getPrimitiveDouble() != 12.12 )
1093         {
1094             serializer.attribute( NAMESPACE, "primitiveDouble", String.valueOf( xmlAttributes.getPrimitiveDouble() ) );
1095         }
1096         if ( ( xmlAttributes.getObjectString() != null ) && !xmlAttributes.getObjectString().equals( "default value" ) )
1097         {
1098             serializer.attribute( NAMESPACE, "objectString", xmlAttributes.getObjectString() );
1099         }
1100         if ( xmlAttributes.getObjectDate() != null )
1101         {
1102             serializer.attribute( NAMESPACE, "objectDate", new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS", java.util.Locale.US ).format( xmlAttributes.getObjectDate() ) );
1103         }
1104         if ( ( xmlAttributes.getAttribute() != null ) && !xmlAttributes.getAttribute().equals( "default" ) )
1105         {
1106             serializer.attribute( NAMESPACE, "tag-name", xmlAttributes.getAttribute() );
1107         }
1108         serializer.endTag( NAMESPACE, tagName );
1109     } //-- void writeXmlAttributes( XmlAttributes, String, XmlSerializer )
1110 
1111     /**
1112      * Method writeXmlContent.
1113      * 
1114      * @param xmlContent a xmlContent object.
1115      * @param serializer a serializer object.
1116      * @param tagName a tagName object.
1117      * @throws java.io.IOException java.io.IOException if any.
1118      */
1119     private void writeXmlContent( XmlContent xmlContent, String tagName, XmlSerializer serializer )
1120         throws java.io.IOException
1121     {
1122         serializer.startTag( NAMESPACE, tagName );
1123         if ( xmlContent.getLongContent() != null )
1124         {
1125             writeXmlContentLong( (XmlContentLong) xmlContent.getLongContent(), "content.long", serializer );
1126         }
1127         if ( xmlContent.getLongContentWithAttributes() != null )
1128         {
1129             writeXmlContentLongWithAttributes( (XmlContentLongWithAttributes) xmlContent.getLongContentWithAttributes(), "content.long-with-attributes", serializer );
1130         }
1131         serializer.endTag( NAMESPACE, tagName );
1132     } //-- void writeXmlContent( XmlContent, String, XmlSerializer )
1133 
1134     /**
1135      * Method writeXmlContentLong.
1136      * 
1137      * @param xmlContentLong a xmlContentLong object.
1138      * @param serializer a serializer object.
1139      * @param tagName a tagName object.
1140      * @throws java.io.IOException java.io.IOException if any.
1141      */
1142     private void writeXmlContentLong( XmlContentLong xmlContentLong, String tagName, XmlSerializer serializer )
1143         throws java.io.IOException
1144     {
1145         serializer.startTag( NAMESPACE, tagName );
1146         serializer.text( String.valueOf( xmlContentLong.getContent() ) );
1147         serializer.endTag( NAMESPACE, tagName );
1148     } //-- void writeXmlContentLong( XmlContentLong, String, XmlSerializer )
1149 
1150     /**
1151      * Method writeXmlContentLongWithAttributes.
1152      * 
1153      * @param xmlContentLongWithAttributes a
1154      * xmlContentLongWithAttributes object.
1155      * @param serializer a serializer object.
1156      * @param tagName a tagName object.
1157      * @throws java.io.IOException java.io.IOException if any.
1158      */
1159     private void writeXmlContentLongWithAttributes( XmlContentLongWithAttributes xmlContentLongWithAttributes, String tagName, XmlSerializer serializer )
1160         throws java.io.IOException
1161     {
1162         serializer.startTag( NAMESPACE, tagName );
1163         if ( xmlContentLongWithAttributes.getAttr() != null )
1164         {
1165             serializer.attribute( NAMESPACE, "attr", xmlContentLongWithAttributes.getAttr() );
1166         }
1167         if ( xmlContentLongWithAttributes.getAttr2() != 0 )
1168         {
1169             serializer.attribute( NAMESPACE, "attr2", String.valueOf( xmlContentLongWithAttributes.getAttr2() ) );
1170         }
1171         serializer.text( String.valueOf( xmlContentLongWithAttributes.getContent() ) );
1172         serializer.endTag( NAMESPACE, tagName );
1173     } //-- void writeXmlContentLongWithAttributes( XmlContentLongWithAttributes, String, XmlSerializer )
1174 
1175     /**
1176      * Method writeXmlFeatures.
1177      * 
1178      * @param xmlFeatures a xmlFeatures object.
1179      * @param serializer a serializer object.
1180      * @param tagName a tagName object.
1181      * @throws java.io.IOException java.io.IOException if any.
1182      */
1183     private void writeXmlFeatures( XmlFeatures xmlFeatures, String tagName, XmlSerializer serializer )
1184         throws java.io.IOException
1185     {
1186         serializer.startTag( NAMESPACE, tagName );
1187         if ( xmlFeatures.getFieldNameAttribute() != null )
1188         {
1189             serializer.attribute( NAMESPACE, "tag-name.attribute", xmlFeatures.getFieldNameAttribute() );
1190         }
1191         if ( xmlFeatures.getAttributes() != null )
1192         {
1193             writeXmlAttributes( (XmlAttributes) xmlFeatures.getAttributes(), "attributes", serializer );
1194         }
1195         if ( xmlFeatures.getAttributesDefault() != null )
1196         {
1197             writeXmlAttributes( (XmlAttributes) xmlFeatures.getAttributesDefault(), "attributesDefault", serializer );
1198         }
1199         if ( xmlFeatures.getContent() != null )
1200         {
1201             writeXmlContent( (XmlContent) xmlFeatures.getContent(), "content", serializer );
1202         }
1203         if ( xmlFeatures.getFieldTrim() != null )
1204         {
1205             serializer.startTag( NAMESPACE, "fieldTrim" ).text( xmlFeatures.getFieldTrim() ).endTag( NAMESPACE, "fieldTrim" );
1206         }
1207         if ( xmlFeatures.getFieldNoTrim() != null )
1208         {
1209             serializer.startTag( NAMESPACE, "fieldNoTrim" ).text( xmlFeatures.getFieldNoTrim() ).endTag( NAMESPACE, "fieldNoTrim" );
1210         }
1211         if ( xmlFeatures.getDom() != null )
1212         {
1213             ((Xpp3Dom) xmlFeatures.getDom()).writeToSerializer( NAMESPACE, serializer );
1214         }
1215         if ( xmlFeatures.getDomNoTrim() != null )
1216         {
1217             ((Xpp3Dom) xmlFeatures.getDomNoTrim()).writeToSerializer( NAMESPACE, serializer );
1218         }
1219         if ( xmlFeatures.getFieldName() != null )
1220         {
1221             serializer.startTag( NAMESPACE, "tag-name" ).text( xmlFeatures.getFieldName() ).endTag( NAMESPACE, "tag-name" );
1222         }
1223         if ( xmlFeatures.getDateXmlFormat() != null )
1224         {
1225             serializer.startTag( NAMESPACE, "dateXmlFormat" ).text( new java.text.SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss", java.util.Locale.US ).format( xmlFeatures.getDateXmlFormat() ) ).endTag( NAMESPACE, "dateXmlFormat" );
1226         }
1227         if ( xmlFeatures.getDateLong() != null )
1228         {
1229             serializer.startTag( NAMESPACE, "dateLong" ).text( String.valueOf( xmlFeatures.getDateLong().getTime() ) ).endTag( NAMESPACE, "dateLong" );
1230         }
1231         if ( ( xmlFeatures.getXmlItemsStyleFlats() != null ) && ( xmlFeatures.getXmlItemsStyleFlats().size() > 0 ) )
1232         {
1233             for ( Iterator iter = xmlFeatures.getXmlItemsStyleFlats().iterator(); iter.hasNext(); )
1234             {
1235                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
1236                 writeReference( o, "xmlItemsStyleFlat", serializer );
1237             }
1238         }
1239         if ( ( xmlFeatures.getXmlAssociationTagNames() != null ) && ( xmlFeatures.getXmlAssociationTagNames().size() > 0 ) )
1240         {
1241             serializer.startTag( NAMESPACE, "xmlAssociationTagNames" );
1242             for ( Iterator iter = xmlFeatures.getXmlAssociationTagNames().iterator(); iter.hasNext(); )
1243             {
1244                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
1245                 writeReference( o, "association.tag-name", serializer );
1246             }
1247             serializer.endTag( NAMESPACE, "xmlAssociationTagNames" );
1248         }
1249         if ( ( xmlFeatures.getXmlTagNameAssociation() != null ) && ( xmlFeatures.getXmlTagNameAssociation().size() > 0 ) )
1250         {
1251             serializer.startTag( NAMESPACE, "field.tag-names" );
1252             for ( Iterator iter = xmlFeatures.getXmlTagNameAssociation().iterator(); iter.hasNext(); )
1253             {
1254                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
1255                 writeReference( o, "field.tag-name", serializer );
1256             }
1257             serializer.endTag( NAMESPACE, "field.tag-names" );
1258         }
1259         if ( ( xmlFeatures.getXmlTagNameAssociationTagNames() != null ) && ( xmlFeatures.getXmlTagNameAssociationTagNames().size() > 0 ) )
1260         {
1261             serializer.startTag( NAMESPACE, "field.tag-name" );
1262             for ( Iterator iter = xmlFeatures.getXmlTagNameAssociationTagNames().iterator(); iter.hasNext(); )
1263             {
1264                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
1265                 writeReference( o, "association.tag-name", serializer );
1266             }
1267             serializer.endTag( NAMESPACE, "field.tag-name" );
1268         }
1269         if ( ( xmlFeatures.getXmlFlatAssociationTagNames() != null ) && ( xmlFeatures.getXmlFlatAssociationTagNames().size() > 0 ) )
1270         {
1271             for ( Iterator iter = xmlFeatures.getXmlFlatAssociationTagNames().iterator(); iter.hasNext(); )
1272             {
1273                 Reference="../../../../../../../org/codehaus/modello/test/features/Reference.html#Reference">Reference o = (Reference) iter.next();
1274                 writeReference( o, "association.tag-name", serializer );
1275             }
1276         }
1277         if ( ( xmlFeatures.getExplodeProperties() != null ) && ( xmlFeatures.getExplodeProperties().size() > 0 ) )
1278         {
1279             serializer.startTag( NAMESPACE, "explodeProperties" );
1280             for ( Iterator iter = xmlFeatures.getExplodeProperties().keySet().iterator(); iter.hasNext(); )
1281             {
1282                 String key = (String) iter.next();
1283                 String value = (String) xmlFeatures.getExplodeProperties().get( key );
1284                 serializer.startTag( NAMESPACE, "explodeProperty" );
1285                 serializer.startTag( NAMESPACE, "key" ).text( key ).endTag( NAMESPACE, "key" );
1286                 serializer.startTag( NAMESPACE, "value" ).text( value ).endTag( NAMESPACE, "value" );
1287                 serializer.endTag( NAMESPACE, "explodeProperty" );
1288             }
1289             serializer.endTag( NAMESPACE, "explodeProperties" );
1290         }
1291         if ( ( xmlFeatures.getInlineProperties() != null ) && ( xmlFeatures.getInlineProperties().size() > 0 ) )
1292         {
1293             serializer.startTag( NAMESPACE, "inlineProperties" );
1294             for ( Iterator iter = xmlFeatures.getInlineProperties().keySet().iterator(); iter.hasNext(); )
1295             {
1296                 String key = (String) iter.next();
1297                 String value = (String) xmlFeatures.getInlineProperties().get( key );
1298                 serializer.startTag( NAMESPACE, key ).text( value ).endTag( NAMESPACE, key );
1299             }
1300             serializer.endTag( NAMESPACE, "inlineProperties" );
1301         }
1302         if ( xmlFeatures.getXmlTransientFields() != null )
1303         {
1304             writeXmlTransientFields( (XmlTransientFields) xmlFeatures.getXmlTransientFields(), "xmlTransientFields", serializer );
1305         }
1306         if ( xmlFeatures.getXmlFieldsOrder() != null )
1307         {
1308             writeXmlFieldsOrder( (XmlFieldsOrder) xmlFeatures.getXmlFieldsOrder(), "xmlFieldsOrder", serializer );
1309         }
1310         if ( xmlFeatures.getXsdFeatures() != null )
1311         {
1312             writeXsdFeatures( (XsdFeatures) xmlFeatures.getXsdFeatures(), "xsdFeatures", serializer );
1313         }
1314         serializer.endTag( NAMESPACE, tagName );
1315     } //-- void writeXmlFeatures( XmlFeatures, String, XmlSerializer )
1316 
1317     /**
1318      * Method writeXmlFieldsOrder.
1319      * 
1320      * @param xmlFieldsOrder a xmlFieldsOrder object.
1321      * @param serializer a serializer object.
1322      * @param tagName a tagName object.
1323      * @throws java.io.IOException java.io.IOException if any.
1324      */
1325     private void writeXmlFieldsOrder( XmlFieldsOrder xmlFieldsOrder, String tagName, XmlSerializer serializer )
1326         throws java.io.IOException
1327     {
1328         serializer.startTag( NAMESPACE, tagName );
1329         if ( xmlFieldsOrder.getField1() != null )
1330         {
1331             serializer.startTag( NAMESPACE, "field1" ).text( xmlFieldsOrder.getField1() ).endTag( NAMESPACE, "field1" );
1332         }
1333         if ( xmlFieldsOrder.getField() != null )
1334         {
1335             serializer.startTag( NAMESPACE, "field-2" ).text( xmlFieldsOrder.getField() ).endTag( NAMESPACE, "field-2" );
1336         }
1337         if ( xmlFieldsOrder.getField3() != null )
1338         {
1339             serializer.startTag( NAMESPACE, "field3" ).text( xmlFieldsOrder.getField3() ).endTag( NAMESPACE, "field3" );
1340         }
1341         if ( xmlFieldsOrder.getField4() != null )
1342         {
1343             serializer.startTag( NAMESPACE, "field4" ).text( xmlFieldsOrder.getField4() ).endTag( NAMESPACE, "field4" );
1344         }
1345         if ( xmlFieldsOrder.getField5() != null )
1346         {
1347             serializer.startTag( NAMESPACE, "field5" ).text( xmlFieldsOrder.getField5() ).endTag( NAMESPACE, "field5" );
1348         }
1349         if ( xmlFieldsOrder.getField6() != null )
1350         {
1351             serializer.startTag( NAMESPACE, "field6" ).text( xmlFieldsOrder.getField6() ).endTag( NAMESPACE, "field6" );
1352         }
1353         if ( xmlFieldsOrder.getField7() != null )
1354         {
1355             serializer.startTag( NAMESPACE, "field7" ).text( xmlFieldsOrder.getField7() ).endTag( NAMESPACE, "field7" );
1356         }
1357         serializer.endTag( NAMESPACE, tagName );
1358     } //-- void writeXmlFieldsOrder( XmlFieldsOrder, String, XmlSerializer )
1359 
1360     /**
1361      * Method writeXmlFieldsOrderParent.
1362      * 
1363      * @param xmlFieldsOrderParent a xmlFieldsOrderParent object.
1364      * @param serializer a serializer object.
1365      * @param tagName a tagName object.
1366      * @throws java.io.IOException java.io.IOException if any.
1367      */
1368     private void writeXmlFieldsOrderParent( XmlFieldsOrderParent xmlFieldsOrderParent, String tagName, XmlSerializer serializer )
1369         throws java.io.IOException
1370     {
1371         serializer.startTag( NAMESPACE, tagName );
1372         if ( xmlFieldsOrderParent.getField() != null )
1373         {
1374             serializer.startTag( NAMESPACE, "field-2" ).text( xmlFieldsOrderParent.getField() ).endTag( NAMESPACE, "field-2" );
1375         }
1376         if ( xmlFieldsOrderParent.getField4() != null )
1377         {
1378             serializer.startTag( NAMESPACE, "field4" ).text( xmlFieldsOrderParent.getField4() ).endTag( NAMESPACE, "field4" );
1379         }
1380         if ( xmlFieldsOrderParent.getField5() != null )
1381         {
1382             serializer.startTag( NAMESPACE, "field5" ).text( xmlFieldsOrderParent.getField5() ).endTag( NAMESPACE, "field5" );
1383         }
1384         if ( xmlFieldsOrderParent.getField7() != null )
1385         {
1386             serializer.startTag( NAMESPACE, "field7" ).text( xmlFieldsOrderParent.getField7() ).endTag( NAMESPACE, "field7" );
1387         }
1388         serializer.endTag( NAMESPACE, tagName );
1389     } //-- void writeXmlFieldsOrderParent( XmlFieldsOrderParent, String, XmlSerializer )
1390 
1391     /**
1392      * Method writeXmlFieldsOrderParent2.
1393      * 
1394      * @param xmlFieldsOrderParent2 a xmlFieldsOrderParent2 object.
1395      * @param serializer a serializer object.
1396      * @param tagName a tagName object.
1397      * @throws java.io.IOException java.io.IOException if any.
1398      */
1399     private void writeXmlFieldsOrderParent2( XmlFieldsOrderParent2 xmlFieldsOrderParent2, String tagName, XmlSerializer serializer )
1400         throws java.io.IOException
1401     {
1402         serializer.startTag( NAMESPACE, tagName );
1403         if ( xmlFieldsOrderParent2.getField() != null )
1404         {
1405             serializer.startTag( NAMESPACE, "field-2" ).text( xmlFieldsOrderParent2.getField() ).endTag( NAMESPACE, "field-2" );
1406         }
1407         serializer.endTag( NAMESPACE, tagName );
1408     } //-- void writeXmlFieldsOrderParent2( XmlFieldsOrderParent2, String, XmlSerializer )
1409 
1410     /**
1411      * Method writeXmlTransientFields.
1412      * 
1413      * @param xmlTransientFields a xmlTransientFields object.
1414      * @param serializer a serializer object.
1415      * @param tagName a tagName object.
1416      * @throws java.io.IOException java.io.IOException if any.
1417      */
1418     private void writeXmlTransientFields( XmlTransientFields xmlTransientFields, String tagName, XmlSerializer serializer )
1419         throws java.io.IOException
1420     {
1421         serializer.startTag( NAMESPACE, tagName );
1422         if ( xmlTransientFields.getPersistentField() != null )
1423         {
1424             serializer.startTag( NAMESPACE, "persistentField" ).text( xmlTransientFields.getPersistentField() ).endTag( NAMESPACE, "persistentField" );
1425         }
1426         serializer.endTag( NAMESPACE, tagName );
1427     } //-- void writeXmlTransientFields( XmlTransientFields, String, XmlSerializer )
1428 
1429     /**
1430      * Method writeXsdFeatures.
1431      * 
1432      * @param xsdFeatures a xsdFeatures object.
1433      * @param serializer a serializer object.
1434      * @param tagName a tagName object.
1435      * @throws java.io.IOException java.io.IOException if any.
1436      */
1437     private void writeXsdFeatures( XsdFeatures xsdFeatures, String tagName, XmlSerializer serializer )
1438         throws java.io.IOException
1439     {
1440         serializer.startTag( NAMESPACE, tagName );
1441         if ( xsdFeatures.getAttribute() != null )
1442         {
1443             serializer.attribute( NAMESPACE, "attribute", xsdFeatures.getAttribute() );
1444         }
1445         serializer.endTag( NAMESPACE, tagName );
1446     } //-- void writeXsdFeatures( XsdFeatures, String, XmlSerializer )
1447 
1448 }