001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 2.3.0,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.codehaus.modello.test.features;
007
008  //---------------------------------/
009 //- Imported classes and packages -/
010//---------------------------------/
011
012import org.codehaus.modello.test.features.other.PackageNameFeature;
013import org.codehaus.modello.test.features.other.SubInterfaceInPackage;
014
015/**
016 * Test of XML specific parameters: see
017 *         <a
018 * href="http://fisheye.codehaus.org/browse/modello/trunk/modello-plugins/modello-plugin-xml/src/main/java/org/codehaus/modello/plugins/xml/XmlMetadataPlugin.java?r=trunk">XmlMetadataPlugin</a>
019 *         class.
020 *       
021 * 
022 * @version $Revision$ $Date$
023 */
024@SuppressWarnings( "all" )
025public class XmlFeatures
026    implements java.io.Serializable
027{
028
029      //--------------------------/
030     //- Class/Member Variables -/
031    //--------------------------/
032
033    /**
034     * Field attributes.
035     */
036    private XmlAttributes attributes;
037
038    /**
039     * Field attributesDefault.
040     */
041    private XmlAttributes attributesDefault;
042
043    /**
044     * Field content.
045     */
046    private XmlContent content;
047
048    /**
049     * <code>&lt;field&gt;</code>: a text field, by default with
050     * trimming.
051     */
052    private String fieldTrim;
053
054    /**
055     * <code>&lt;field xml.trim="false"&gt;</code>: a text field
056     * without trimming.
057     */
058    private String fieldNoTrim;
059
060    /**
061     * <code>&lt;field&gt;&lt;type&gt;DOM-&gt;&lt;/type&gt;</code>:
062     * a DOM field, by default with trimming (each element in the
063     * DOM tree).
064     */
065    private Object dom;
066
067    /**
068     * <code>&lt;field
069     * xml.trim="false"&gt;&lt;type&gt;DOM-&gt;&lt;/type&gt;</code>:
070     * a DOM field without trimming.
071     */
072    private Object domNoTrim;
073
074    /**
075     * <code>&lt;field xml.tagName="<i>tag-name</i>"&gt;</code>: a
076     * field with an XML name different from the field name.
077     */
078    private String fieldName;
079
080    /**
081     * <code>&lt;field xml.attribute="true"
082     * xml.tagName="<i>tag-name.attribute</i>"&gt;</code>
083     */
084    private String fieldNameAttribute;
085
086    /**
087     * <code>&lt;field xml.format="<i>SimpleDateFormat
088     * specification</i>"&gt;</code>: a Date field with a specified
089     * format.
090     */
091    private java.util.Date dateXmlFormat;
092
093    /**
094     * <code>&lt;field xml.format="long"&gt;</code>: a Date field
095     * as a long value in XML.
096     */
097    private java.util.Date dateLong;
098
099    /**
100     * Field xmlItemsStyleFlats.
101     */
102    private java.util.List<Reference> xmlItemsStyleFlats;
103
104    /**
105     * Field xmlAssociationTagNames.
106     */
107    private java.util.List<Reference> xmlAssociationTagNames;
108
109    /**
110     * Field xmlTagNameAssociation.
111     */
112    private java.util.List<Reference> xmlTagNameAssociation;
113
114    /**
115     * Field xmlTagNameAssociationTagNames.
116     */
117    private java.util.List<Reference> xmlTagNameAssociationTagNames;
118
119    /**
120     * Field xmlFlatAssociationTagNames.
121     */
122    private java.util.List<Reference> xmlFlatAssociationTagNames;
123
124    /**
125     * Field explodeProperties.
126     */
127    private java.util.Properties explodeProperties;
128
129    /**
130     * Field inlineProperties.
131     */
132    private java.util.Properties inlineProperties;
133
134    /**
135     * Field xmlTransientFields.
136     */
137    private XmlTransientFields xmlTransientFields;
138
139    /**
140     * Field xmlFieldsOrder.
141     */
142    private XmlFieldsOrder xmlFieldsOrder;
143
144    /**
145     * Field xsdFeatures.
146     */
147    private XsdFeatures xsdFeatures;
148
149
150      //-----------/
151     //- Methods -/
152    //-----------/
153
154    /**
155     * Method addExplodeProperty.
156     * 
157     * @param key a key object.
158     * @param value a value object.
159     */
160    public void addExplodeProperty( String key, String value )
161    {
162        getExplodeProperties().put( key, value );
163    } //-- void addExplodeProperty( String, String )
164
165    /**
166     * Method addInlineProperty.
167     * 
168     * @param key a key object.
169     * @param value a value object.
170     */
171    public void addInlineProperty( String key, String value )
172    {
173        getInlineProperties().put( key, value );
174    } //-- void addInlineProperty( String, String )
175
176    /**
177     * Method addXmlAssociationTagName.
178     * 
179     * @param reference a reference object.
180     */
181    public void addXmlAssociationTagName( Reference reference )
182    {
183        getXmlAssociationTagNames().add( reference );
184    } //-- void addXmlAssociationTagName( Reference )
185
186    /**
187     * Method addXmlFlatAssociationTagName.
188     * 
189     * @param reference a reference object.
190     */
191    public void addXmlFlatAssociationTagName( Reference reference )
192    {
193        getXmlFlatAssociationTagNames().add( reference );
194    } //-- void addXmlFlatAssociationTagName( Reference )
195
196    /**
197     * Method addXmlItemsStyleFlat.
198     * 
199     * @param reference a reference object.
200     */
201    public void addXmlItemsStyleFlat( Reference reference )
202    {
203        getXmlItemsStyleFlats().add( reference );
204    } //-- void addXmlItemsStyleFlat( Reference )
205
206    /**
207     * Method addXmlTagNameAssociation.
208     * 
209     * @param reference a reference object.
210     */
211    public void addXmlTagNameAssociation( Reference reference )
212    {
213        getXmlTagNameAssociation().add( reference );
214    } //-- void addXmlTagNameAssociation( Reference )
215
216    /**
217     * Method addXmlTagNameAssociationTagName.
218     * 
219     * @param reference a reference object.
220     */
221    public void addXmlTagNameAssociationTagName( Reference reference )
222    {
223        getXmlTagNameAssociationTagNames().add( reference );
224    } //-- void addXmlTagNameAssociationTagName( Reference )
225
226    /**
227     * Get the attributes field.
228     * 
229     * @return XmlAttributes
230     */
231    public XmlAttributes getAttributes()
232    {
233        return this.attributes;
234    } //-- XmlAttributes getAttributes()
235
236    /**
237     * Get the attributesDefault field.
238     * 
239     * @return XmlAttributes
240     */
241    public XmlAttributes getAttributesDefault()
242    {
243        return this.attributesDefault;
244    } //-- XmlAttributes getAttributesDefault()
245
246    /**
247     * Get the content field.
248     * 
249     * @return XmlContent
250     */
251    public XmlContent getContent()
252    {
253        return this.content;
254    } //-- XmlContent getContent()
255
256    /**
257     * Get <code>&lt;field xml.format="long"&gt;</code>: a Date
258     * field as a long value in XML.
259     * 
260     * @return Date
261     */
262    public java.util.Date getDateLong()
263    {
264        return this.dateLong;
265    } //-- java.util.Date getDateLong()
266
267    /**
268     * Get <code>&lt;field xml.format="<i>SimpleDateFormat
269     * specification</i>"&gt;</code>: a Date field with a specified
270     * format.
271     * 
272     * @return Date
273     */
274    public java.util.Date getDateXmlFormat()
275    {
276        return this.dateXmlFormat;
277    } //-- java.util.Date getDateXmlFormat()
278
279    /**
280     * Get
281     * <code>&lt;field&gt;&lt;type&gt;DOM-&gt;&lt;/type&gt;</code>:
282     * a DOM field, by default with trimming (each element in the
283     * DOM tree).
284     * 
285     * @return Object
286     */
287    public Object getDom()
288    {
289        return this.dom;
290    } //-- Object getDom()
291
292    /**
293     * Get <code>&lt;field
294     * xml.trim="false"&gt;&lt;type&gt;DOM-&gt;&lt;/type&gt;</code>:
295     * a DOM field without trimming.
296     * 
297     * @return Object
298     */
299    public Object getDomNoTrim()
300    {
301        return this.domNoTrim;
302    } //-- Object getDomNoTrim()
303
304    /**
305     * Method getExplodeProperties.
306     * 
307     * @return Properties
308     */
309    public java.util.Properties getExplodeProperties()
310    {
311        if ( this.explodeProperties == null )
312        {
313            this.explodeProperties = new org.codehaus.modello.OrderedProperties();
314        }
315
316        return this.explodeProperties;
317    } //-- java.util.Properties getExplodeProperties()
318
319    /**
320     * Get <code>&lt;field
321     * xml.tagName="<i>tag-name</i>"&gt;</code>: a field with an
322     * XML name different from the field name.
323     * 
324     * @return String
325     */
326    public String getFieldName()
327    {
328        return this.fieldName;
329    } //-- String getFieldName()
330
331    /**
332     * Get <code>&lt;field xml.attribute="true"
333     * xml.tagName="<i>tag-name.attribute</i>"&gt;</code>
334     * 
335     * @return String
336     */
337    public String getFieldNameAttribute()
338    {
339        return this.fieldNameAttribute;
340    } //-- String getFieldNameAttribute()
341
342    /**
343     * Get <code>&lt;field xml.trim="false"&gt;</code>: a text
344     * field without trimming.
345     * 
346     * @return String
347     */
348    public String getFieldNoTrim()
349    {
350        return this.fieldNoTrim;
351    } //-- String getFieldNoTrim()
352
353    /**
354     * Get <code>&lt;field&gt;</code>: a text field, by default
355     * with trimming.
356     * 
357     * @return String
358     */
359    public String getFieldTrim()
360    {
361        return this.fieldTrim;
362    } //-- String getFieldTrim()
363
364    /**
365     * Method getInlineProperties.
366     * 
367     * @return Properties
368     */
369    public java.util.Properties getInlineProperties()
370    {
371        if ( this.inlineProperties == null )
372        {
373            this.inlineProperties = new org.codehaus.modello.OrderedProperties();
374        }
375
376        return this.inlineProperties;
377    } //-- java.util.Properties getInlineProperties()
378
379    /**
380     * Method getXmlAssociationTagNames.
381     * 
382     * @return List
383     */
384    public java.util.List<Reference> getXmlAssociationTagNames()
385    {
386        if ( this.xmlAssociationTagNames == null )
387        {
388            this.xmlAssociationTagNames = new java.util.ArrayList<Reference>();
389        }
390
391        return this.xmlAssociationTagNames;
392    } //-- java.util.List<Reference> getXmlAssociationTagNames()
393
394    /**
395     * Get the xmlFieldsOrder field.
396     * 
397     * @return XmlFieldsOrder
398     */
399    public XmlFieldsOrder getXmlFieldsOrder()
400    {
401        return this.xmlFieldsOrder;
402    } //-- XmlFieldsOrder getXmlFieldsOrder()
403
404    /**
405     * Method getXmlFlatAssociationTagNames.
406     * 
407     * @return List
408     */
409    public java.util.List<Reference> getXmlFlatAssociationTagNames()
410    {
411        if ( this.xmlFlatAssociationTagNames == null )
412        {
413            this.xmlFlatAssociationTagNames = new java.util.ArrayList<Reference>();
414        }
415
416        return this.xmlFlatAssociationTagNames;
417    } //-- java.util.List<Reference> getXmlFlatAssociationTagNames()
418
419    /**
420     * Method getXmlItemsStyleFlats.
421     * 
422     * @return List
423     */
424    public java.util.List<Reference> getXmlItemsStyleFlats()
425    {
426        if ( this.xmlItemsStyleFlats == null )
427        {
428            this.xmlItemsStyleFlats = new java.util.ArrayList<Reference>();
429        }
430
431        return this.xmlItemsStyleFlats;
432    } //-- java.util.List<Reference> getXmlItemsStyleFlats()
433
434    /**
435     * Method getXmlTagNameAssociation.
436     * 
437     * @return List
438     */
439    public java.util.List<Reference> getXmlTagNameAssociation()
440    {
441        if ( this.xmlTagNameAssociation == null )
442        {
443            this.xmlTagNameAssociation = new java.util.ArrayList<Reference>();
444        }
445
446        return this.xmlTagNameAssociation;
447    } //-- java.util.List<Reference> getXmlTagNameAssociation()
448
449    /**
450     * Method getXmlTagNameAssociationTagNames.
451     * 
452     * @return List
453     */
454    public java.util.List<Reference> getXmlTagNameAssociationTagNames()
455    {
456        if ( this.xmlTagNameAssociationTagNames == null )
457        {
458            this.xmlTagNameAssociationTagNames = new java.util.ArrayList<Reference>();
459        }
460
461        return this.xmlTagNameAssociationTagNames;
462    } //-- java.util.List<Reference> getXmlTagNameAssociationTagNames()
463
464    /**
465     * Get the xmlTransientFields field.
466     * 
467     * @return XmlTransientFields
468     */
469    public XmlTransientFields getXmlTransientFields()
470    {
471        return this.xmlTransientFields;
472    } //-- XmlTransientFields getXmlTransientFields()
473
474    /**
475     * Get the xsdFeatures field.
476     * 
477     * @return XsdFeatures
478     */
479    public XsdFeatures getXsdFeatures()
480    {
481        return this.xsdFeatures;
482    } //-- XsdFeatures getXsdFeatures()
483
484    /**
485     * Method removeXmlAssociationTagName.
486     * 
487     * @param reference a reference object.
488     */
489    public void removeXmlAssociationTagName( Reference reference )
490    {
491        getXmlAssociationTagNames().remove( reference );
492    } //-- void removeXmlAssociationTagName( Reference )
493
494    /**
495     * Method removeXmlFlatAssociationTagName.
496     * 
497     * @param reference a reference object.
498     */
499    public void removeXmlFlatAssociationTagName( Reference reference )
500    {
501        getXmlFlatAssociationTagNames().remove( reference );
502    } //-- void removeXmlFlatAssociationTagName( Reference )
503
504    /**
505     * Method removeXmlItemsStyleFlat.
506     * 
507     * @param reference a reference object.
508     */
509    public void removeXmlItemsStyleFlat( Reference reference )
510    {
511        getXmlItemsStyleFlats().remove( reference );
512    } //-- void removeXmlItemsStyleFlat( Reference )
513
514    /**
515     * Method removeXmlTagNameAssociation.
516     * 
517     * @param reference a reference object.
518     */
519    public void removeXmlTagNameAssociation( Reference reference )
520    {
521        getXmlTagNameAssociation().remove( reference );
522    } //-- void removeXmlTagNameAssociation( Reference )
523
524    /**
525     * Method removeXmlTagNameAssociationTagName.
526     * 
527     * @param reference a reference object.
528     */
529    public void removeXmlTagNameAssociationTagName( Reference reference )
530    {
531        getXmlTagNameAssociationTagNames().remove( reference );
532    } //-- void removeXmlTagNameAssociationTagName( Reference )
533
534    /**
535     * Set the attributes field.
536     * 
537     * @param attributes a attributes object.
538     */
539    public void setAttributes( XmlAttributes attributes )
540    {
541        this.attributes = attributes;
542    } //-- void setAttributes( XmlAttributes )
543
544    /**
545     * Set the attributesDefault field.
546     * 
547     * @param attributesDefault a attributesDefault object.
548     */
549    public void setAttributesDefault( XmlAttributes attributesDefault )
550    {
551        this.attributesDefault = attributesDefault;
552    } //-- void setAttributesDefault( XmlAttributes )
553
554    /**
555     * Set the content field.
556     * 
557     * @param content a content object.
558     */
559    public void setContent( XmlContent content )
560    {
561        this.content = content;
562    } //-- void setContent( XmlContent )
563
564    /**
565     * Set <code>&lt;field xml.format="long"&gt;</code>: a Date
566     * field as a long value in XML.
567     * 
568     * @param dateLong a dateLong object.
569     */
570    public void setDateLong( java.util.Date dateLong )
571    {
572        this.dateLong = dateLong;
573    } //-- void setDateLong( java.util.Date )
574
575    /**
576     * Set <code>&lt;field xml.format="<i>SimpleDateFormat
577     * specification</i>"&gt;</code>: a Date field with a specified
578     * format.
579     * 
580     * @param dateXmlFormat a dateXmlFormat object.
581     */
582    public void setDateXmlFormat( java.util.Date dateXmlFormat )
583    {
584        this.dateXmlFormat = dateXmlFormat;
585    } //-- void setDateXmlFormat( java.util.Date )
586
587    /**
588     * Set
589     * <code>&lt;field&gt;&lt;type&gt;DOM-&gt;&lt;/type&gt;</code>:
590     * a DOM field, by default with trimming (each element in the
591     * DOM tree).
592     * 
593     * @param dom a dom object.
594     */
595    public void setDom( Object dom )
596    {
597        this.dom = dom;
598    } //-- void setDom( Object )
599
600    /**
601     * Set <code>&lt;field
602     * xml.trim="false"&gt;&lt;type&gt;DOM-&gt;&lt;/type&gt;</code>:
603     * a DOM field without trimming.
604     * 
605     * @param domNoTrim a domNoTrim object.
606     */
607    public void setDomNoTrim( Object domNoTrim )
608    {
609        this.domNoTrim = domNoTrim;
610    } //-- void setDomNoTrim( Object )
611
612    /**
613     * Set <code>&lt;type&gt;Properties&lt;/type&gt;&lt;association
614     * xml.mapStyle="explode"&gt;</code>.
615     * 
616     * @param explodeProperties a explodeProperties object.
617     */
618    public void setExplodeProperties( java.util.Properties explodeProperties )
619    {
620        this.explodeProperties = explodeProperties;
621    } //-- void setExplodeProperties( java.util.Properties )
622
623    /**
624     * Set <code>&lt;field
625     * xml.tagName="<i>tag-name</i>"&gt;</code>: a field with an
626     * XML name different from the field name.
627     * 
628     * @param fieldName a fieldName object.
629     */
630    public void setFieldName( String fieldName )
631    {
632        this.fieldName = fieldName;
633    } //-- void setFieldName( String )
634
635    /**
636     * Set <code>&lt;field xml.attribute="true"
637     * xml.tagName="<i>tag-name.attribute</i>"&gt;</code>
638     * 
639     * @param fieldNameAttribute a fieldNameAttribute object.
640     */
641    public void setFieldNameAttribute( String fieldNameAttribute )
642    {
643        this.fieldNameAttribute = fieldNameAttribute;
644    } //-- void setFieldNameAttribute( String )
645
646    /**
647     * Set <code>&lt;field xml.trim="false"&gt;</code>: a text
648     * field without trimming.
649     * 
650     * @param fieldNoTrim a fieldNoTrim object.
651     */
652    public void setFieldNoTrim( String fieldNoTrim )
653    {
654        this.fieldNoTrim = fieldNoTrim;
655    } //-- void setFieldNoTrim( String )
656
657    /**
658     * Set <code>&lt;field&gt;</code>: a text field, by default
659     * with trimming.
660     * 
661     * @param fieldTrim a fieldTrim object.
662     */
663    public void setFieldTrim( String fieldTrim )
664    {
665        this.fieldTrim = fieldTrim;
666    } //-- void setFieldTrim( String )
667
668    /**
669     * Set <code>&lt;type&gt;Properties&lt;/type&gt;&lt;association
670     * xml.mapStyle="inline"&gt;</code> (default).
671     * 
672     * @param inlineProperties a inlineProperties object.
673     */
674    public void setInlineProperties( java.util.Properties inlineProperties )
675    {
676        this.inlineProperties = inlineProperties;
677    } //-- void setInlineProperties( java.util.Properties )
678
679    /**
680     * Set <code>&lt;field&gt;&lt;association
681     * xml.tagName="<i>association.tag-name</i>"&gt;&lt;/field&gt;</code>:
682     *             a list with an XML name different from
683     * calculated singular of tag name.
684     * 
685     * @param xmlAssociationTagNames a xmlAssociationTagNames object
686     */
687    public void setXmlAssociationTagNames( java.util.List<Reference> xmlAssociationTagNames )
688    {
689        this.xmlAssociationTagNames = xmlAssociationTagNames;
690    } //-- void setXmlAssociationTagNames( java.util.List )
691
692    /**
693     * Set the xmlFieldsOrder field.
694     * 
695     * @param xmlFieldsOrder a xmlFieldsOrder object.
696     */
697    public void setXmlFieldsOrder( XmlFieldsOrder xmlFieldsOrder )
698    {
699        this.xmlFieldsOrder = xmlFieldsOrder;
700    } //-- void setXmlFieldsOrder( XmlFieldsOrder )
701
702    /**
703     * Set <code>&lt;field&gt;&lt;association xml.itemsStyle="flat"
704     * xml.tagName="<i>association.tag-name</i>"&gt;&lt;/field&gt;</code>:
705     *             a flat list with an XML name different from
706     * calculated singular of tag name.
707     * 
708     * @param xmlFlatAssociationTagNames a
709     * xmlFlatAssociationTagNames object.
710     */
711    public void setXmlFlatAssociationTagNames( java.util.List<Reference> xmlFlatAssociationTagNames )
712    {
713        this.xmlFlatAssociationTagNames = xmlFlatAssociationTagNames;
714    } //-- void setXmlFlatAssociationTagNames( java.util.List )
715
716    /**
717     * Set <code>&lt;field&gt;&lt;association
718     * xml.itemsStyle="flat"/&gt;&lt;/field&gt;</code>: a "flat"
719     * list, ie without enclosing tag.
720     * 
721     * @param xmlItemsStyleFlats a xmlItemsStyleFlats object.
722     */
723    public void setXmlItemsStyleFlats( java.util.List<Reference> xmlItemsStyleFlats )
724    {
725        this.xmlItemsStyleFlats = xmlItemsStyleFlats;
726    } //-- void setXmlItemsStyleFlats( java.util.List )
727
728    /**
729     * Set <code>&lt;field
730     * xml.tagName="field.tag-names"&gt;&lt;association&gt;&lt;/field&gt;</code>:
731     *             a list with an XML name different from field
732     * name.
733     * 
734     * @param xmlTagNameAssociation a xmlTagNameAssociation object.
735     */
736    public void setXmlTagNameAssociation( java.util.List<Reference> xmlTagNameAssociation )
737    {
738        this.xmlTagNameAssociation = xmlTagNameAssociation;
739    } //-- void setXmlTagNameAssociation( java.util.List )
740
741    /**
742     * Set <code>&lt;field
743     * xml.tagName="field.tag-name"&gt;&lt;association
744     * xml.tagName="association.tag-name"&gt;&lt;/field&gt;</code>:
745     *             a list with an XML name different from field
746     * name and an XML name different from calculated singular of
747     * tag name.
748     * 
749     * @param xmlTagNameAssociationTagNames a
750     * xmlTagNameAssociationTagNames object.
751     */
752    public void setXmlTagNameAssociationTagNames( java.util.List<Reference> xmlTagNameAssociationTagNames )
753    {
754        this.xmlTagNameAssociationTagNames = xmlTagNameAssociationTagNames;
755    } //-- void setXmlTagNameAssociationTagNames( java.util.List )
756
757    /**
758     * Set the xmlTransientFields field.
759     * 
760     * @param xmlTransientFields a xmlTransientFields object.
761     */
762    public void setXmlTransientFields( XmlTransientFields xmlTransientFields )
763    {
764        this.xmlTransientFields = xmlTransientFields;
765    } //-- void setXmlTransientFields( XmlTransientFields )
766
767    /**
768     * Set the xsdFeatures field.
769     * 
770     * @param xsdFeatures a xsdFeatures object.
771     */
772    public void setXsdFeatures( XsdFeatures xsdFeatures )
773    {
774        this.xsdFeatures = xsdFeatures;
775    } //-- void setXsdFeatures( XsdFeatures )
776
777}