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 * Class Thing.
017 * 
018 * @version $Revision$ $Date$
019 */
020@SuppressWarnings( "all" )
021public class Thing
022    extends SuperThing
023    implements java.io.Serializable, java.lang.Cloneable
024{
025
026      //--------------------------/
027     //- Class/Member Variables -/
028    //--------------------------/
029
030    /**
031     * Field someBoolean.
032     */
033    private boolean someBoolean = false;
034
035    /**
036     * Field someChar.
037     */
038    private char someChar = '\0';
039
040    /**
041     * Field someByte.
042     */
043    private byte someByte = 0;
044
045    /**
046     * Field someShort.
047     */
048    private short someShort = 0;
049
050    /**
051     * Field someInt.
052     */
053    private int someInt = 0;
054
055    /**
056     * Field someLong.
057     */
058    private long someLong = 0L;
059
060    /**
061     * Field someFloat.
062     */
063    private float someFloat = 0.0f;
064
065    /**
066     * Field someDouble.
067     */
068    private double someDouble = 0.0;
069
070    /**
071     * Field someString.
072     */
073    private String someString;
074
075    /**
076     * Field someDate.
077     */
078    private java.util.Date someDate;
079
080    /**
081     * Field someDom.
082     */
083    private Object someDom;
084
085    /**
086     * Field someProperties.
087     */
088    private java.util.Properties someProperties;
089
090    /**
091     * Field someStringList.
092     */
093    private java.util.List<String> someStringList;
094
095    /**
096     * Field someStringSet.
097     */
098    private java.util.Set<String> someStringSet;
099
100    /**
101     * Field deepThingy.
102     */
103    private Thingy deepThingy;
104
105    /**
106     * Field deepThingyList.
107     */
108    private java.util.List<Thingy> deepThingyList;
109
110    /**
111     * Field deepThingySet.
112     */
113    private java.util.Set<Thingy> deepThingySet;
114
115    /**
116     * Field shallowThingy.
117     */
118    private Thingy shallowThingy;
119
120    /**
121     * Field shallowThingyList.
122     */
123    private java.util.List<Thingy> shallowThingyList;
124
125    /**
126     * Field shallowThingySet.
127     */
128    private java.util.Set<Thingy> shallowThingySet;
129
130
131      //-----------/
132     //- Methods -/
133    //-----------/
134
135    /**
136     * Method addDeepThingyList.
137     * 
138     * @param thingy a thingy object.
139     */
140    public void addDeepThingyList( Thingy thingy )
141    {
142        getDeepThingyList().add( thingy );
143    } //-- void addDeepThingyList( Thingy )
144
145    /**
146     * Method addDeepThingySet.
147     * 
148     * @param thingy a thingy object.
149     */
150    public void addDeepThingySet( Thingy thingy )
151    {
152        getDeepThingySet().add( thingy );
153    } //-- void addDeepThingySet( Thingy )
154
155    /**
156     * Method addShallowThingyList.
157     * 
158     * @param thingy a thingy object.
159     */
160    public void addShallowThingyList( Thingy thingy )
161    {
162        getShallowThingyList().add( thingy );
163    } //-- void addShallowThingyList( Thingy )
164
165    /**
166     * Method addShallowThingySet.
167     * 
168     * @param thingy a thingy object.
169     */
170    public void addShallowThingySet( Thingy thingy )
171    {
172        getShallowThingySet().add( thingy );
173    } //-- void addShallowThingySet( Thingy )
174
175    /**
176     * Method addSomeProperty.
177     * 
178     * @param key a key object.
179     * @param value a value object.
180     */
181    public void addSomeProperty( String key, String value )
182    {
183        getSomeProperties().put( key, value );
184    } //-- void addSomeProperty( String, String )
185
186    /**
187     * Method addSomeStringList.
188     * 
189     * @param string a string object.
190     */
191    public void addSomeStringList( String string )
192    {
193        getSomeStringList().add( string );
194    } //-- void addSomeStringList( String )
195
196    /**
197     * Method addSomeStringSet.
198     * 
199     * @param string a string object.
200     */
201    public void addSomeStringSet( String string )
202    {
203        getSomeStringSet().add( string );
204    } //-- void addSomeStringSet( String )
205
206    /**
207     * Method clone.
208     * 
209     * @return Thing
210     */
211    public Thing clone()
212    {
213        try
214        {
215            Thing copy = (Thing) super.clone();
216
217            if ( this.someDate != null )
218            {
219                copy.someDate = (java.util.Date) this.someDate.clone();
220            }
221
222            if ( this.someDom != null )
223            {
224                copy.someDom = new org.codehaus.plexus.util.xml.Xpp3Dom( (org.codehaus.plexus.util.xml.Xpp3Dom) this.someDom );
225            }
226
227            if ( this.someProperties != null )
228            {
229                copy.someProperties = (java.util.Properties) this.someProperties.clone();
230            }
231
232            if ( this.someStringList != null )
233            {
234                copy.someStringList = new java.util.ArrayList<String>();
235                copy.someStringList.addAll( this.someStringList );
236            }
237
238            if ( this.someStringSet != null )
239            {
240                copy.someStringSet = new java.util.HashSet<String>();
241                copy.someStringSet.addAll( this.someStringSet );
242            }
243
244            if ( this.deepThingy != null )
245            {
246                copy.deepThingy = (Thingy) this.deepThingy.clone();
247            }
248
249            if ( this.deepThingyList != null )
250            {
251                copy.deepThingyList = new java.util.ArrayList<Thingy>();
252                for ( Thingy item : this.deepThingyList )
253                {
254                    copy.deepThingyList.add( ( (Thingy) item).clone() );
255                }
256            }
257
258            if ( this.deepThingySet != null )
259            {
260                copy.deepThingySet = new java.util.HashSet<Thingy>();
261                for ( Thingy item : this.deepThingySet )
262                {
263                    copy.deepThingySet.add( ( (Thingy) item).clone() );
264                }
265            }
266
267            if ( this.shallowThingyList != null )
268            {
269                copy.shallowThingyList = new java.util.ArrayList<Thingy>();
270                copy.shallowThingyList.addAll( this.shallowThingyList );
271            }
272
273            if ( this.shallowThingySet != null )
274            {
275                copy.shallowThingySet = new java.util.HashSet<Thingy>();
276                copy.shallowThingySet.addAll( this.shallowThingySet );
277            }
278
279            cloneCustomFields( copy );
280
281            return copy;
282        }
283        catch ( java.lang.Exception ex )
284        {
285            throw (java.lang.RuntimeException) new java.lang.UnsupportedOperationException( getClass().getName()
286                + " does not support clone()" ).initCause( ex );
287        }
288    } //-- Thing clone()
289
290    /**
291     * Get the deepThingy field.
292     * 
293     * @return Thingy
294     */
295    public Thingy getDeepThingy()
296    {
297        return this.deepThingy;
298    } //-- Thingy getDeepThingy()
299
300    /**
301     * Method getDeepThingyList.
302     * 
303     * @return List
304     */
305    public java.util.List<Thingy> getDeepThingyList()
306    {
307        if ( this.deepThingyList == null )
308        {
309            this.deepThingyList = new java.util.ArrayList<Thingy>();
310        }
311
312        return this.deepThingyList;
313    } //-- java.util.List<Thingy> getDeepThingyList()
314
315    /**
316     * Method getDeepThingySet.
317     * 
318     * @return Set
319     */
320    public java.util.Set<Thingy> getDeepThingySet()
321    {
322        if ( this.deepThingySet == null )
323        {
324            this.deepThingySet = new java.util.HashSet<Thingy>();
325        }
326
327        return this.deepThingySet;
328    } //-- java.util.Set<Thingy> getDeepThingySet()
329
330    /**
331     * Get the shallowThingy field.
332     * 
333     * @return Thingy
334     */
335    public Thingy getShallowThingy()
336    {
337        return this.shallowThingy;
338    } //-- Thingy getShallowThingy()
339
340    /**
341     * Method getShallowThingyList.
342     * 
343     * @return List
344     */
345    public java.util.List<Thingy> getShallowThingyList()
346    {
347        if ( this.shallowThingyList == null )
348        {
349            this.shallowThingyList = new java.util.ArrayList<Thingy>();
350        }
351
352        return this.shallowThingyList;
353    } //-- java.util.List<Thingy> getShallowThingyList()
354
355    /**
356     * Method getShallowThingySet.
357     * 
358     * @return Set
359     */
360    public java.util.Set<Thingy> getShallowThingySet()
361    {
362        if ( this.shallowThingySet == null )
363        {
364            this.shallowThingySet = new java.util.HashSet<Thingy>();
365        }
366
367        return this.shallowThingySet;
368    } //-- java.util.Set<Thingy> getShallowThingySet()
369
370    /**
371     * Get the someByte field.
372     * 
373     * @return byte
374     */
375    public byte getSomeByte()
376    {
377        return this.someByte;
378    } //-- byte getSomeByte()
379
380    /**
381     * Get the someChar field.
382     * 
383     * @return char
384     */
385    public char getSomeChar()
386    {
387        return this.someChar;
388    } //-- char getSomeChar()
389
390    /**
391     * Get the someDate field.
392     * 
393     * @return Date
394     */
395    public java.util.Date getSomeDate()
396    {
397        return this.someDate;
398    } //-- java.util.Date getSomeDate()
399
400    /**
401     * Get the someDom field.
402     * 
403     * @return Object
404     */
405    public Object getSomeDom()
406    {
407        return this.someDom;
408    } //-- Object getSomeDom()
409
410    /**
411     * Get the someDouble field.
412     * 
413     * @return double
414     */
415    public double getSomeDouble()
416    {
417        return this.someDouble;
418    } //-- double getSomeDouble()
419
420    /**
421     * Get the someFloat field.
422     * 
423     * @return float
424     */
425    public float getSomeFloat()
426    {
427        return this.someFloat;
428    } //-- float getSomeFloat()
429
430    /**
431     * Get the someInt field.
432     * 
433     * @return int
434     */
435    public int getSomeInt()
436    {
437        return this.someInt;
438    } //-- int getSomeInt()
439
440    /**
441     * Get the someLong field.
442     * 
443     * @return long
444     */
445    public long getSomeLong()
446    {
447        return this.someLong;
448    } //-- long getSomeLong()
449
450    /**
451     * Method getSomeProperties.
452     * 
453     * @return Properties
454     */
455    public java.util.Properties getSomeProperties()
456    {
457        if ( this.someProperties == null )
458        {
459            this.someProperties = new org.codehaus.modello.OrderedProperties();
460        }
461
462        return this.someProperties;
463    } //-- java.util.Properties getSomeProperties()
464
465    /**
466     * Get the someShort field.
467     * 
468     * @return short
469     */
470    public short getSomeShort()
471    {
472        return this.someShort;
473    } //-- short getSomeShort()
474
475    /**
476     * Get the someString field.
477     * 
478     * @return String
479     */
480    public String getSomeString()
481    {
482        return this.someString;
483    } //-- String getSomeString()
484
485    /**
486     * Method getSomeStringList.
487     * 
488     * @return List
489     */
490    public java.util.List<String> getSomeStringList()
491    {
492        if ( this.someStringList == null )
493        {
494            this.someStringList = new java.util.ArrayList<String>();
495        }
496
497        return this.someStringList;
498    } //-- java.util.List<String> getSomeStringList()
499
500    /**
501     * Method getSomeStringSet.
502     * 
503     * @return Set
504     */
505    public java.util.Set<String> getSomeStringSet()
506    {
507        if ( this.someStringSet == null )
508        {
509            this.someStringSet = new java.util.HashSet<String>();
510        }
511
512        return this.someStringSet;
513    } //-- java.util.Set<String> getSomeStringSet()
514
515    /**
516     * Get the someBoolean field.
517     * 
518     * @return boolean
519     */
520    public boolean isSomeBoolean()
521    {
522        return this.someBoolean;
523    } //-- boolean isSomeBoolean()
524
525    /**
526     * Method removeDeepThingyList.
527     * 
528     * @param thingy a thingy object.
529     */
530    public void removeDeepThingyList( Thingy thingy )
531    {
532        getDeepThingyList().remove( thingy );
533    } //-- void removeDeepThingyList( Thingy )
534
535    /**
536     * Method removeDeepThingySet.
537     * 
538     * @param thingy a thingy object.
539     */
540    public void removeDeepThingySet( Thingy thingy )
541    {
542        getDeepThingySet().remove( thingy );
543    } //-- void removeDeepThingySet( Thingy )
544
545    /**
546     * Method removeShallowThingyList.
547     * 
548     * @param thingy a thingy object.
549     */
550    public void removeShallowThingyList( Thingy thingy )
551    {
552        getShallowThingyList().remove( thingy );
553    } //-- void removeShallowThingyList( Thingy )
554
555    /**
556     * Method removeShallowThingySet.
557     * 
558     * @param thingy a thingy object.
559     */
560    public void removeShallowThingySet( Thingy thingy )
561    {
562        getShallowThingySet().remove( thingy );
563    } //-- void removeShallowThingySet( Thingy )
564
565    /**
566     * Method removeSomeStringList.
567     * 
568     * @param string a string object.
569     */
570    public void removeSomeStringList( String string )
571    {
572        getSomeStringList().remove( string );
573    } //-- void removeSomeStringList( String )
574
575    /**
576     * Method removeSomeStringSet.
577     * 
578     * @param string a string object.
579     */
580    public void removeSomeStringSet( String string )
581    {
582        getSomeStringSet().remove( string );
583    } //-- void removeSomeStringSet( String )
584
585    /**
586     * Set the deepThingy field.
587     * 
588     * @param deepThingy a deepThingy object.
589     */
590    public void setDeepThingy( Thingy deepThingy )
591    {
592        this.deepThingy = deepThingy;
593    } //-- void setDeepThingy( Thingy )
594
595    /**
596     * Set the deepThingyList field.
597     * 
598     * @param deepThingyList a deepThingyList object.
599     */
600    public void setDeepThingyList( java.util.List<Thingy> deepThingyList )
601    {
602        this.deepThingyList = deepThingyList;
603    } //-- void setDeepThingyList( java.util.List )
604
605    /**
606     * Set the deepThingySet field.
607     * 
608     * @param deepThingySet a deepThingySet object.
609     */
610    public void setDeepThingySet( java.util.Set<Thingy> deepThingySet )
611    {
612        this.deepThingySet = deepThingySet;
613    } //-- void setDeepThingySet( java.util.Set )
614
615    /**
616     * Set the shallowThingy field.
617     * 
618     * @param shallowThingy a shallowThingy object.
619     */
620    public void setShallowThingy( Thingy shallowThingy )
621    {
622        this.shallowThingy = shallowThingy;
623    } //-- void setShallowThingy( Thingy )
624
625    /**
626     * Set the shallowThingyList field.
627     * 
628     * @param shallowThingyList a shallowThingyList object.
629     */
630    public void setShallowThingyList( java.util.List<Thingy> shallowThingyList )
631    {
632        this.shallowThingyList = shallowThingyList;
633    } //-- void setShallowThingyList( java.util.List )
634
635    /**
636     * Set the shallowThingySet field.
637     * 
638     * @param shallowThingySet a shallowThingySet object.
639     */
640    public void setShallowThingySet( java.util.Set<Thingy> shallowThingySet )
641    {
642        this.shallowThingySet = shallowThingySet;
643    } //-- void setShallowThingySet( java.util.Set )
644
645    /**
646     * Set the someBoolean field.
647     * 
648     * @param someBoolean a someBoolean object.
649     */
650    public void setSomeBoolean( boolean someBoolean )
651    {
652        this.someBoolean = someBoolean;
653    } //-- void setSomeBoolean( boolean )
654
655    /**
656     * Set the someByte field.
657     * 
658     * @param someByte a someByte object.
659     */
660    public void setSomeByte( byte someByte )
661    {
662        this.someByte = someByte;
663    } //-- void setSomeByte( byte )
664
665    /**
666     * Set the someChar field.
667     * 
668     * @param someChar a someChar object.
669     */
670    public void setSomeChar( char someChar )
671    {
672        this.someChar = someChar;
673    } //-- void setSomeChar( char )
674
675    /**
676     * Set the someDate field.
677     * 
678     * @param someDate a someDate object.
679     */
680    public void setSomeDate( java.util.Date someDate )
681    {
682        this.someDate = someDate;
683    } //-- void setSomeDate( java.util.Date )
684
685    /**
686     * Set the someDom field.
687     * 
688     * @param someDom a someDom object.
689     */
690    public void setSomeDom( Object someDom )
691    {
692        this.someDom = someDom;
693    } //-- void setSomeDom( Object )
694
695    /**
696     * Set the someDouble field.
697     * 
698     * @param someDouble a someDouble object.
699     */
700    public void setSomeDouble( double someDouble )
701    {
702        this.someDouble = someDouble;
703    } //-- void setSomeDouble( double )
704
705    /**
706     * Set the someFloat field.
707     * 
708     * @param someFloat a someFloat object.
709     */
710    public void setSomeFloat( float someFloat )
711    {
712        this.someFloat = someFloat;
713    } //-- void setSomeFloat( float )
714
715    /**
716     * Set the someInt field.
717     * 
718     * @param someInt a someInt object.
719     */
720    public void setSomeInt( int someInt )
721    {
722        this.someInt = someInt;
723    } //-- void setSomeInt( int )
724
725    /**
726     * Set the someLong field.
727     * 
728     * @param someLong a someLong object.
729     */
730    public void setSomeLong( long someLong )
731    {
732        this.someLong = someLong;
733    } //-- void setSomeLong( long )
734
735    /**
736     * Set the someProperties field.
737     * 
738     * @param someProperties a someProperties object.
739     */
740    public void setSomeProperties( java.util.Properties someProperties )
741    {
742        this.someProperties = someProperties;
743    } //-- void setSomeProperties( java.util.Properties )
744
745    /**
746     * Set the someShort field.
747     * 
748     * @param someShort a someShort object.
749     */
750    public void setSomeShort( short someShort )
751    {
752        this.someShort = someShort;
753    } //-- void setSomeShort( short )
754
755    /**
756     * Set the someString field.
757     * 
758     * @param someString a someString object.
759     */
760    public void setSomeString( String someString )
761    {
762        this.someString = someString;
763    } //-- void setSomeString( String )
764
765    /**
766     * Set the someStringList field.
767     * 
768     * @param someStringList a someStringList object.
769     */
770    public void setSomeStringList( java.util.List<String> someStringList )
771    {
772        this.someStringList = someStringList;
773    } //-- void setSomeStringList( java.util.List )
774
775    /**
776     * Set the someStringSet field.
777     * 
778     * @param someStringSet a someStringSet object.
779     */
780    public void setSomeStringSet( java.util.Set<String> someStringSet )
781    {
782        this.someStringSet = someStringSet;
783    } //-- void setSomeStringSet( java.util.Set )
784
785    
786    public java.util.Properties customProperties = new java.util.Properties();
787
788    private void cloneCustomFields( Thing copy )
789    {
790        if ( this.customProperties != null )
791        {
792            copy.customProperties = (java.util.Properties) this.customProperties.clone();
793        }
794    }
795            
796          
797}