001// =================== DO NOT EDIT THIS FILE ====================
002// Generated by Modello 1.7,
003// any modifications will be overwritten.
004// ==============================================================
005
006package org.apache.archiva.redback.role.model.io.stax;
007
008  //---------------------------------/
009 //- Imported classes and packages -/
010//---------------------------------/
011
012import java.io.IOException;
013import java.io.OutputStream;
014import java.io.StringWriter;
015import java.io.Writer;
016import java.text.DateFormat;
017import java.util.Iterator;
018import java.util.Locale;
019import java.util.jar.Manifest;
020import javax.xml.stream.*;
021import org.apache.archiva.redback.role.model.ModelApplication;
022import org.apache.archiva.redback.role.model.ModelOperation;
023import org.apache.archiva.redback.role.model.ModelPermission;
024import org.apache.archiva.redback.role.model.ModelResource;
025import org.apache.archiva.redback.role.model.ModelRole;
026import org.apache.archiva.redback.role.model.ModelTemplate;
027import org.apache.archiva.redback.role.model.RedbackRoleModel;
028
029/**
030 * Class RedbackRoleModelStaxWriter.
031 * 
032 * @version $Revision$ $Date$
033 */
034@SuppressWarnings( "all" )
035public class RedbackRoleModelStaxWriter
036{
037
038      //--------------------------/
039     //- Class/Member Variables -/
040    //--------------------------/
041
042    /**
043     * Field curId.
044     */
045    private int curId;
046
047    /**
048     * Field idMap.
049     */
050    private java.util.Map idMap;
051
052
053      //----------------/
054     //- Constructors -/
055    //----------------/
056
057    public RedbackRoleModelStaxWriter()
058    {
059        idMap = new java.util.HashMap();
060    } //-- org.apache.archiva.redback.role.model.io.stax.RedbackRoleModelStaxWriter()
061
062
063      //-----------/
064     //- Methods -/
065    //-----------/
066
067    /**
068     * Method write.
069     * 
070     * @param writer
071     * @param redbackRoleModel
072     * @throws java.io.IOException
073     * @throws XMLStreamException
074     */
075    public void write( Writer writer, RedbackRoleModel redbackRoleModel )
076        throws java.io.IOException, XMLStreamException
077    {
078        XMLOutputFactory factory = XMLOutputFactory.newInstance();
079        boolean supportWindowsLineEndings = false;
080        if ( factory.isPropertySupported( "com.ctc.wstx.outputEscapeCr" ) )
081        {
082            factory.setProperty( "com.ctc.wstx.outputEscapeCr", Boolean.FALSE );
083            supportWindowsLineEndings = true;
084        }
085        if ( factory.isPropertySupported( "org.codehaus.stax2.automaticEmptyElements" ) )
086        {
087            factory.setProperty( "org.codehaus.stax2.automaticEmptyElements", Boolean.FALSE );
088        }
089        IndentingXMLStreamWriter serializer = new IndentingXMLStreamWriter( factory.createXMLStreamWriter( writer ) );
090        if ( supportWindowsLineEndings )
091        {
092            serializer.setNewLine( serializer.getLineSeparator() );
093        }
094        serializer.writeStartDocument( redbackRoleModel.getModelEncoding(), "1.0" );
095        writeRedbackRoleModel( redbackRoleModel, "redback-role-model", serializer );
096        serializer.writeEndDocument();
097    } //-- void write( Writer, RedbackRoleModel )
098
099    /**
100     * Method write.
101     * 
102     * @param stream
103     * @param redbackRoleModel
104     * @throws java.io.IOException
105     * @throws XMLStreamException
106     */
107    public void write( OutputStream stream, RedbackRoleModel redbackRoleModel )
108        throws java.io.IOException, XMLStreamException
109    {
110        XMLOutputFactory factory = XMLOutputFactory.newInstance();
111        boolean supportWindowsLineEndings = false;
112        if ( factory.isPropertySupported( "com.ctc.wstx.outputEscapeCr" ) )
113        {
114            factory.setProperty( "com.ctc.wstx.outputEscapeCr", Boolean.FALSE );
115            supportWindowsLineEndings = true;
116        }
117        if ( factory.isPropertySupported( "org.codehaus.stax2.automaticEmptyElements" ) )
118        {
119            factory.setProperty( "org.codehaus.stax2.automaticEmptyElements", Boolean.FALSE );
120        }
121        IndentingXMLStreamWriter serializer = new IndentingXMLStreamWriter( factory.createXMLStreamWriter( stream, redbackRoleModel.getModelEncoding() ) );
122        if ( supportWindowsLineEndings )
123        {
124            serializer.setNewLine( serializer.getLineSeparator() );
125        }
126        serializer.writeStartDocument( redbackRoleModel.getModelEncoding(), "1.0" );
127        writeRedbackRoleModel( redbackRoleModel, "redback-role-model", serializer );
128        serializer.writeEndDocument();
129    } //-- void write( OutputStream, RedbackRoleModel )
130
131    /**
132     * Method writeModelApplication.
133     * 
134     * @param modelApplication
135     * @param serializer
136     * @param tagName
137     * @throws java.io.IOException
138     * @throws XMLStreamException
139     */
140    private void writeModelApplication( ModelApplication modelApplication, String tagName, XMLStreamWriter serializer )
141        throws java.io.IOException, XMLStreamException
142    {
143        if ( modelApplication != null )
144        {
145            serializer.writeStartElement( tagName );
146            if ( modelApplication.getVersion() != null )
147            {
148                serializer.writeStartElement( "version" );
149                serializer.writeCharacters( modelApplication.getVersion() );
150                serializer.writeEndElement();
151            }
152            if ( modelApplication.getId() != null )
153            {
154                serializer.writeStartElement( "id" );
155                serializer.writeCharacters( modelApplication.getId() );
156                serializer.writeEndElement();
157            }
158            if ( modelApplication.getDescription() != null )
159            {
160                serializer.writeStartElement( "description" );
161                serializer.writeCharacters( modelApplication.getDescription() );
162                serializer.writeEndElement();
163            }
164            if ( modelApplication.getLongDescription() != null )
165            {
166                serializer.writeStartElement( "longDescription" );
167                serializer.writeCharacters( modelApplication.getLongDescription() );
168                serializer.writeEndElement();
169            }
170            if ( ( modelApplication.getResources() != null ) && ( modelApplication.getResources().size() > 0 ) )
171            {
172                serializer.writeStartElement( "resources" );
173                for ( Iterator iter = modelApplication.getResources().iterator(); iter.hasNext(); )
174                {
175                    ModelResource o = (ModelResource) iter.next();
176                    writeModelResource( o, "resource", serializer );
177                }
178                serializer.writeEndElement();
179            }
180            if ( ( modelApplication.getOperations() != null ) && ( modelApplication.getOperations().size() > 0 ) )
181            {
182                serializer.writeStartElement( "operations" );
183                for ( Iterator iter = modelApplication.getOperations().iterator(); iter.hasNext(); )
184                {
185                    ModelOperation o = (ModelOperation) iter.next();
186                    writeModelOperation( o, "operation", serializer );
187                }
188                serializer.writeEndElement();
189            }
190            if ( ( modelApplication.getRoles() != null ) && ( modelApplication.getRoles().size() > 0 ) )
191            {
192                serializer.writeStartElement( "roles" );
193                for ( Iterator iter = modelApplication.getRoles().iterator(); iter.hasNext(); )
194                {
195                    ModelRole o = (ModelRole) iter.next();
196                    writeModelRole( o, "role", serializer );
197                }
198                serializer.writeEndElement();
199            }
200            if ( ( modelApplication.getTemplates() != null ) && ( modelApplication.getTemplates().size() > 0 ) )
201            {
202                serializer.writeStartElement( "templates" );
203                for ( Iterator iter = modelApplication.getTemplates().iterator(); iter.hasNext(); )
204                {
205                    ModelTemplate o = (ModelTemplate) iter.next();
206                    writeModelTemplate( o, "template", serializer );
207                }
208                serializer.writeEndElement();
209            }
210            serializer.writeEndElement();
211        }
212    } //-- void writeModelApplication( ModelApplication, String, XMLStreamWriter )
213
214    /**
215     * Method writeModelOperation.
216     * 
217     * @param modelOperation
218     * @param serializer
219     * @param tagName
220     * @throws java.io.IOException
221     * @throws XMLStreamException
222     */
223    private void writeModelOperation( ModelOperation modelOperation, String tagName, XMLStreamWriter serializer )
224        throws java.io.IOException, XMLStreamException
225    {
226        if ( modelOperation != null )
227        {
228            serializer.writeStartElement( tagName );
229            if ( modelOperation.getId() != null )
230            {
231                serializer.writeStartElement( "id" );
232                serializer.writeCharacters( modelOperation.getId() );
233                serializer.writeEndElement();
234            }
235            if ( modelOperation.getName() != null )
236            {
237                serializer.writeStartElement( "name" );
238                serializer.writeCharacters( modelOperation.getName() );
239                serializer.writeEndElement();
240            }
241            if ( modelOperation.getDescription() != null )
242            {
243                serializer.writeStartElement( "description" );
244                serializer.writeCharacters( modelOperation.getDescription() );
245                serializer.writeEndElement();
246            }
247            if ( modelOperation.isPermanent() != false )
248            {
249                serializer.writeStartElement( "permanent" );
250                serializer.writeCharacters( String.valueOf( modelOperation.isPermanent() ) );
251                serializer.writeEndElement();
252            }
253            serializer.writeEndElement();
254        }
255    } //-- void writeModelOperation( ModelOperation, String, XMLStreamWriter )
256
257    /**
258     * Method writeModelPermission.
259     * 
260     * @param modelPermission
261     * @param serializer
262     * @param tagName
263     * @throws java.io.IOException
264     * @throws XMLStreamException
265     */
266    private void writeModelPermission( ModelPermission modelPermission, String tagName, XMLStreamWriter serializer )
267        throws java.io.IOException, XMLStreamException
268    {
269        if ( modelPermission != null )
270        {
271            serializer.writeStartElement( tagName );
272            if ( modelPermission.getId() != null )
273            {
274                serializer.writeStartElement( "id" );
275                serializer.writeCharacters( modelPermission.getId() );
276                serializer.writeEndElement();
277            }
278            if ( modelPermission.getName() != null )
279            {
280                serializer.writeStartElement( "name" );
281                serializer.writeCharacters( modelPermission.getName() );
282                serializer.writeEndElement();
283            }
284            if ( modelPermission.getDescription() != null )
285            {
286                serializer.writeStartElement( "description" );
287                serializer.writeCharacters( modelPermission.getDescription() );
288                serializer.writeEndElement();
289            }
290            if ( modelPermission.isPermanent() != false )
291            {
292                serializer.writeStartElement( "permanent" );
293                serializer.writeCharacters( String.valueOf( modelPermission.isPermanent() ) );
294                serializer.writeEndElement();
295            }
296            if ( modelPermission.getOperation() != null )
297            {
298                serializer.writeStartElement( "operation" );
299                serializer.writeCharacters( modelPermission.getOperation() );
300                serializer.writeEndElement();
301            }
302            if ( modelPermission.getResource() != null )
303            {
304                serializer.writeStartElement( "resource" );
305                serializer.writeCharacters( modelPermission.getResource() );
306                serializer.writeEndElement();
307            }
308            serializer.writeEndElement();
309        }
310    } //-- void writeModelPermission( ModelPermission, String, XMLStreamWriter )
311
312    /**
313     * Method writeModelResource.
314     * 
315     * @param modelResource
316     * @param serializer
317     * @param tagName
318     * @throws java.io.IOException
319     * @throws XMLStreamException
320     */
321    private void writeModelResource( ModelResource modelResource, String tagName, XMLStreamWriter serializer )
322        throws java.io.IOException, XMLStreamException
323    {
324        if ( modelResource != null )
325        {
326            serializer.writeStartElement( tagName );
327            if ( modelResource.getId() != null )
328            {
329                serializer.writeStartElement( "id" );
330                serializer.writeCharacters( modelResource.getId() );
331                serializer.writeEndElement();
332            }
333            if ( modelResource.getName() != null )
334            {
335                serializer.writeStartElement( "name" );
336                serializer.writeCharacters( modelResource.getName() );
337                serializer.writeEndElement();
338            }
339            if ( modelResource.isPermanent() != false )
340            {
341                serializer.writeStartElement( "permanent" );
342                serializer.writeCharacters( String.valueOf( modelResource.isPermanent() ) );
343                serializer.writeEndElement();
344            }
345            if ( modelResource.isPattern() != false )
346            {
347                serializer.writeStartElement( "pattern" );
348                serializer.writeCharacters( String.valueOf( modelResource.isPattern() ) );
349                serializer.writeEndElement();
350            }
351            if ( modelResource.getDescription() != null )
352            {
353                serializer.writeStartElement( "description" );
354                serializer.writeCharacters( modelResource.getDescription() );
355                serializer.writeEndElement();
356            }
357            serializer.writeEndElement();
358        }
359    } //-- void writeModelResource( ModelResource, String, XMLStreamWriter )
360
361    /**
362     * Method writeModelRole.
363     * 
364     * @param modelRole
365     * @param serializer
366     * @param tagName
367     * @throws java.io.IOException
368     * @throws XMLStreamException
369     */
370    private void writeModelRole( ModelRole modelRole, String tagName, XMLStreamWriter serializer )
371        throws java.io.IOException, XMLStreamException
372    {
373        if ( modelRole != null )
374        {
375            serializer.writeStartElement( tagName );
376            if ( modelRole.getId() != null )
377            {
378                serializer.writeStartElement( "id" );
379                serializer.writeCharacters( modelRole.getId() );
380                serializer.writeEndElement();
381            }
382            if ( modelRole.getName() != null )
383            {
384                serializer.writeStartElement( "name" );
385                serializer.writeCharacters( modelRole.getName() );
386                serializer.writeEndElement();
387            }
388            if ( modelRole.getDescription() != null )
389            {
390                serializer.writeStartElement( "description" );
391                serializer.writeCharacters( modelRole.getDescription() );
392                serializer.writeEndElement();
393            }
394            if ( modelRole.isAssignable() != false )
395            {
396                serializer.writeStartElement( "assignable" );
397                serializer.writeCharacters( String.valueOf( modelRole.isAssignable() ) );
398                serializer.writeEndElement();
399            }
400            if ( modelRole.isPermanent() != false )
401            {
402                serializer.writeStartElement( "permanent" );
403                serializer.writeCharacters( String.valueOf( modelRole.isPermanent() ) );
404                serializer.writeEndElement();
405            }
406            if ( ( modelRole.getPermissions() != null ) && ( modelRole.getPermissions().size() > 0 ) )
407            {
408                serializer.writeStartElement( "permissions" );
409                for ( Iterator iter = modelRole.getPermissions().iterator(); iter.hasNext(); )
410                {
411                    ModelPermission o = (ModelPermission) iter.next();
412                    writeModelPermission( o, "permission", serializer );
413                }
414                serializer.writeEndElement();
415            }
416            if ( ( modelRole.getParentRoles() != null ) && ( modelRole.getParentRoles().size() > 0 ) )
417            {
418                serializer.writeStartElement( "parentRoles" );
419                for ( Iterator iter = modelRole.getParentRoles().iterator(); iter.hasNext(); )
420                {
421                    String parentRole = (String) iter.next();
422                    serializer.writeStartElement( "parentRole" );
423                    serializer.writeCharacters( parentRole );
424                    serializer.writeEndElement();
425                }
426                serializer.writeEndElement();
427            }
428            if ( ( modelRole.getChildRoles() != null ) && ( modelRole.getChildRoles().size() > 0 ) )
429            {
430                serializer.writeStartElement( "childRoles" );
431                for ( Iterator iter = modelRole.getChildRoles().iterator(); iter.hasNext(); )
432                {
433                    String childRole = (String) iter.next();
434                    serializer.writeStartElement( "childRole" );
435                    serializer.writeCharacters( childRole );
436                    serializer.writeEndElement();
437                }
438                serializer.writeEndElement();
439            }
440            serializer.writeEndElement();
441        }
442    } //-- void writeModelRole( ModelRole, String, XMLStreamWriter )
443
444    /**
445     * Method writeModelTemplate.
446     * 
447     * @param modelTemplate
448     * @param serializer
449     * @param tagName
450     * @throws java.io.IOException
451     * @throws XMLStreamException
452     */
453    private void writeModelTemplate( ModelTemplate modelTemplate, String tagName, XMLStreamWriter serializer )
454        throws java.io.IOException, XMLStreamException
455    {
456        if ( modelTemplate != null )
457        {
458            serializer.writeStartElement( tagName );
459            if ( modelTemplate.getId() != null )
460            {
461                serializer.writeStartElement( "id" );
462                serializer.writeCharacters( modelTemplate.getId() );
463                serializer.writeEndElement();
464            }
465            if ( modelTemplate.getNamePrefix() != null )
466            {
467                serializer.writeStartElement( "namePrefix" );
468                serializer.writeCharacters( modelTemplate.getNamePrefix() );
469                serializer.writeEndElement();
470            }
471            if ( ( modelTemplate.getDelimiter() != null ) && !modelTemplate.getDelimiter().equals( " - " ) )
472            {
473                serializer.writeStartElement( "delimiter" );
474                serializer.writeCharacters( modelTemplate.getDelimiter() );
475                serializer.writeEndElement();
476            }
477            if ( modelTemplate.getDescription() != null )
478            {
479                serializer.writeStartElement( "description" );
480                serializer.writeCharacters( modelTemplate.getDescription() );
481                serializer.writeEndElement();
482            }
483            if ( modelTemplate.isAssignable() != false )
484            {
485                serializer.writeStartElement( "assignable" );
486                serializer.writeCharacters( String.valueOf( modelTemplate.isAssignable() ) );
487                serializer.writeEndElement();
488            }
489            if ( modelTemplate.isPermanent() != false )
490            {
491                serializer.writeStartElement( "permanent" );
492                serializer.writeCharacters( String.valueOf( modelTemplate.isPermanent() ) );
493                serializer.writeEndElement();
494            }
495            if ( modelTemplate.isPermanentResource() != false )
496            {
497                serializer.writeStartElement( "permanentResource" );
498                serializer.writeCharacters( String.valueOf( modelTemplate.isPermanentResource() ) );
499                serializer.writeEndElement();
500            }
501            if ( ( modelTemplate.getPermissions() != null ) && ( modelTemplate.getPermissions().size() > 0 ) )
502            {
503                serializer.writeStartElement( "permissions" );
504                for ( Iterator iter = modelTemplate.getPermissions().iterator(); iter.hasNext(); )
505                {
506                    ModelPermission o = (ModelPermission) iter.next();
507                    writeModelPermission( o, "permission", serializer );
508                }
509                serializer.writeEndElement();
510            }
511            if ( ( modelTemplate.getParentRoles() != null ) && ( modelTemplate.getParentRoles().size() > 0 ) )
512            {
513                serializer.writeStartElement( "parentRoles" );
514                for ( Iterator iter = modelTemplate.getParentRoles().iterator(); iter.hasNext(); )
515                {
516                    String parentRole = (String) iter.next();
517                    serializer.writeStartElement( "parentRole" );
518                    serializer.writeCharacters( parentRole );
519                    serializer.writeEndElement();
520                }
521                serializer.writeEndElement();
522            }
523            if ( ( modelTemplate.getChildRoles() != null ) && ( modelTemplate.getChildRoles().size() > 0 ) )
524            {
525                serializer.writeStartElement( "childRoles" );
526                for ( Iterator iter = modelTemplate.getChildRoles().iterator(); iter.hasNext(); )
527                {
528                    String childRole = (String) iter.next();
529                    serializer.writeStartElement( "childRole" );
530                    serializer.writeCharacters( childRole );
531                    serializer.writeEndElement();
532                }
533                serializer.writeEndElement();
534            }
535            if ( ( modelTemplate.getParentTemplates() != null ) && ( modelTemplate.getParentTemplates().size() > 0 ) )
536            {
537                serializer.writeStartElement( "parentTemplates" );
538                for ( Iterator iter = modelTemplate.getParentTemplates().iterator(); iter.hasNext(); )
539                {
540                    String parentTemplate = (String) iter.next();
541                    serializer.writeStartElement( "parentTemplate" );
542                    serializer.writeCharacters( parentTemplate );
543                    serializer.writeEndElement();
544                }
545                serializer.writeEndElement();
546            }
547            if ( ( modelTemplate.getChildTemplates() != null ) && ( modelTemplate.getChildTemplates().size() > 0 ) )
548            {
549                serializer.writeStartElement( "childTemplates" );
550                for ( Iterator iter = modelTemplate.getChildTemplates().iterator(); iter.hasNext(); )
551                {
552                    String childTemplate = (String) iter.next();
553                    serializer.writeStartElement( "childTemplate" );
554                    serializer.writeCharacters( childTemplate );
555                    serializer.writeEndElement();
556                }
557                serializer.writeEndElement();
558            }
559            serializer.writeEndElement();
560        }
561    } //-- void writeModelTemplate( ModelTemplate, String, XMLStreamWriter )
562
563    /**
564     * Method writeRedbackRoleModel.
565     * 
566     * @param redbackRoleModel
567     * @param serializer
568     * @param tagName
569     * @throws java.io.IOException
570     * @throws XMLStreamException
571     */
572    private void writeRedbackRoleModel( RedbackRoleModel redbackRoleModel, String tagName, XMLStreamWriter serializer )
573        throws java.io.IOException, XMLStreamException
574    {
575        if ( redbackRoleModel != null )
576        {
577            serializer.setDefaultNamespace( "http://archiva.apache.org/redback/role/1.0.0" );
578            serializer.writeStartElement( tagName );
579            serializer.writeDefaultNamespace( "http://archiva.apache.org/redback/role/1.0.0" );
580            if ( redbackRoleModel.getModelVersion() != null )
581            {
582                serializer.writeStartElement( "modelVersion" );
583                serializer.writeCharacters( redbackRoleModel.getModelVersion() );
584                serializer.writeEndElement();
585            }
586            if ( ( redbackRoleModel.getApplications() != null ) && ( redbackRoleModel.getApplications().size() > 0 ) )
587            {
588                serializer.writeStartElement( "applications" );
589                for ( Iterator iter = redbackRoleModel.getApplications().iterator(); iter.hasNext(); )
590                {
591                    ModelApplication o = (ModelApplication) iter.next();
592                    writeModelApplication( o, "application", serializer );
593                }
594                serializer.writeEndElement();
595            }
596            serializer.writeEndElement();
597        }
598    } //-- void writeRedbackRoleModel( RedbackRoleModel, String, XMLStreamWriter )
599
600}