001    // SECTION-START[License Header]
002    // <editor-fold defaultstate="collapsed" desc=" Generated License ">
003    /*
004     *   Java Object Management and Configuration
005     *   Copyright (C) Christian Schulte, 2005-206
006     *   All rights reserved.
007     *
008     *   Redistribution and use in source and binary forms, with or without
009     *   modification, are permitted provided that the following conditions
010     *   are met:
011     *
012     *     o Redistributions of source code must retain the above copyright
013     *       notice, this list of conditions and the following disclaimer.
014     *
015     *     o Redistributions in binary form must reproduce the above copyright
016     *       notice, this list of conditions and the following disclaimer in
017     *       the documentation and/or other materials provided with the
018     *       distribution.
019     *
020     *   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
021     *   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
022     *   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
023     *   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
024     *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
025     *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
026     *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
027     *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
028     *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
029     *   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
030     *
031     *   $JOMC: MergeModulesCommand.java 4463 2012-03-28 00:46:22Z schulte2005 $
032     *
033     */
034    // </editor-fold>
035    // SECTION-END
036    package org.jomc.cli.commands;
037    
038    import java.io.File;
039    import java.io.IOException;
040    import java.net.URL;
041    import java.util.Arrays;
042    import java.util.Enumeration;
043    import java.util.Iterator;
044    import java.util.List;
045    import java.util.logging.Level;
046    import javax.xml.bind.JAXBElement;
047    import javax.xml.bind.JAXBException;
048    import javax.xml.bind.Marshaller;
049    import javax.xml.bind.Unmarshaller;
050    import javax.xml.bind.util.JAXBResult;
051    import javax.xml.bind.util.JAXBSource;
052    import javax.xml.transform.Transformer;
053    import javax.xml.transform.TransformerException;
054    import javax.xml.transform.stream.StreamSource;
055    import org.apache.commons.cli.CommandLine;
056    import org.jomc.model.Module;
057    import org.jomc.model.Modules;
058    import org.jomc.model.ObjectFactory;
059    import org.jomc.model.modlet.DefaultModelProvider;
060    import org.jomc.modlet.ModelContext;
061    import org.jomc.modlet.ModelException;
062    import org.jomc.modlet.ModelValidationReport;
063    
064    // SECTION-START[Documentation]
065    // <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
066    /**
067     * JOMC CLI {@code merge-modules} command implementation.
068     *
069     * <dl>
070     *   <dt><b>Identifier:</b></dt><dd>JOMC CLI merge-modules Command</dd>
071     *   <dt><b>Name:</b></dt><dd>default-merge-modules</dd>
072     *   <dt><b>Specifications:</b></dt>
073     *     <dd>JOMC CLI Command @ 1.0</dd>
074     *   <dt><b>Abstract:</b></dt><dd>No</dd>
075     *   <dt><b>Final:</b></dt><dd>No</dd>
076     *   <dt><b>Stateless:</b></dt><dd>No</dd>
077     * </dl>
078     *
079     * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0
080     * @version 1.2.5
081     */
082    // </editor-fold>
083    // SECTION-END
084    // SECTION-START[Annotations]
085    // <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
086    @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
087    // </editor-fold>
088    // SECTION-END
089    public final class MergeModulesCommand extends AbstractModelCommand
090    {
091        // SECTION-START[Command]
092        // SECTION-END
093        // SECTION-START[MergeModulesCommand]
094    
095        protected void executeCommand( final CommandLine commandLine ) throws CommandExecutionException
096        {
097            if ( commandLine == null )
098            {
099                throw new NullPointerException( "commandLine" );
100            }
101    
102            CommandLineClassLoader classLoader = null;
103            boolean suppressExceptionOnClose = true;
104    
105            try
106            {
107                classLoader = new CommandLineClassLoader( commandLine );
108                final Modules modules = new Modules();
109                final ModelContext context = this.createModelContext( commandLine, classLoader );
110                final String model = this.getModel( commandLine );
111                final Marshaller marshaller = context.createMarshaller( model );
112                final Unmarshaller unmarshaller = context.createUnmarshaller( model );
113    
114                if ( !commandLine.hasOption( this.getNoModelResourceValidation().getOpt() ) )
115                {
116                    unmarshaller.setSchema( context.createSchema( model ) );
117                }
118    
119                File stylesheetFile = null;
120                if ( commandLine.hasOption( this.getStylesheetOption().getOpt() ) )
121                {
122                    stylesheetFile = new File( commandLine.getOptionValue( this.getStylesheetOption().getOpt() ) );
123                }
124    
125                String moduleVersion = null;
126                if ( commandLine.hasOption( this.getModuleVersionOption().getOpt() ) )
127                {
128                    moduleVersion = commandLine.getOptionValue( this.getModuleVersionOption().getOpt() );
129                }
130    
131                String moduleVendor = null;
132                if ( commandLine.hasOption( this.getModuleVendorOption().getOpt() ) )
133                {
134                    moduleVendor = commandLine.getOptionValue( this.getModuleVendorOption().getOpt() );
135                }
136    
137                if ( commandLine.hasOption( this.getDocumentsOption().getOpt() ) )
138                {
139                    for ( File f : this.getDocumentFiles( commandLine ) )
140                    {
141                        if ( this.isLoggable( Level.FINEST ) )
142                        {
143                            this.log( Level.FINEST, this.getReadingMessage( this.getLocale(), f.getAbsolutePath() ), null );
144                        }
145    
146                        Object o = unmarshaller.unmarshal( f );
147                        if ( o instanceof JAXBElement<?> )
148                        {
149                            o = ( (JAXBElement<?>) o ).getValue();
150                        }
151    
152                        if ( o instanceof Module )
153                        {
154                            modules.getModule().add( (Module) o );
155                        }
156                        else if ( o instanceof Modules )
157                        {
158                            modules.getModule().addAll( ( (Modules) o ).getModule() );
159                        }
160                        else if ( this.isLoggable( Level.WARNING ) )
161                        {
162                            this.log( Level.WARNING, this.getCannotProcessMessage(
163                                this.getLocale(), f.getAbsolutePath(), o.toString() ), null );
164    
165                        }
166                    }
167                }
168    
169                if ( commandLine.hasOption( this.getClasspathOption().getOpt() ) )
170                {
171                    String[] resourceNames = null;
172    
173                    if ( commandLine.hasOption( this.getResourcesOption().getOpt() ) )
174                    {
175                        resourceNames = commandLine.getOptionValues( this.getResourcesOption().getOpt() );
176                    }
177    
178                    if ( resourceNames == null )
179                    {
180                        resourceNames = new String[]
181                        {
182                            DefaultModelProvider.getDefaultModuleLocation()
183                        };
184                    }
185    
186                    for ( String resource : resourceNames )
187                    {
188                        for ( final Enumeration<URL> e = classLoader.getResources( resource ); e.hasMoreElements(); )
189                        {
190                            final URL url = e.nextElement();
191    
192                            if ( this.isLoggable( Level.FINEST ) )
193                            {
194                                this.log( Level.FINEST, this.getReadingMessage( this.getLocale(), url.toExternalForm() ),
195                                          null );
196    
197                            }
198    
199                            Object o = unmarshaller.unmarshal( url );
200                            if ( o instanceof JAXBElement<?> )
201                            {
202                                o = ( (JAXBElement<?>) o ).getValue();
203                            }
204    
205                            if ( o instanceof Module )
206                            {
207                                modules.getModule().add( (Module) o );
208                            }
209                            else if ( o instanceof Modules )
210                            {
211                                modules.getModule().addAll( ( (Modules) o ).getModule() );
212                            }
213                            else if ( this.isLoggable( Level.WARNING ) )
214                            {
215                                this.log( Level.WARNING, this.getCannotProcessMessage(
216                                    this.getLocale(), url.toExternalForm(), o.toString() ), null );
217    
218                            }
219                        }
220                    }
221                }
222    
223                if ( commandLine.hasOption( this.getModuleIncludesOption().getOpt() ) )
224                {
225                    final String[] values = commandLine.getOptionValues( this.getModuleIncludesOption().getOpt() );
226    
227                    if ( values != null )
228                    {
229                        final List<String> includes = Arrays.asList( values );
230    
231                        for ( final Iterator<Module> it = modules.getModule().iterator(); it.hasNext(); )
232                        {
233                            final Module m = it.next();
234                            if ( !includes.contains( m.getName() ) )
235                            {
236                                this.log( Level.INFO, this.getExcludingModuleInfo( this.getLocale(), m.getName() ), null );
237                                it.remove();
238                            }
239                            else
240                            {
241                                this.log( Level.INFO, this.getIncludingModuleInfo( this.getLocale(), m.getName() ), null );
242                            }
243                        }
244                    }
245                }
246    
247                if ( commandLine.hasOption( this.getModuleExcludesOption().getOpt() ) )
248                {
249                    final String[] values = commandLine.getOptionValues( this.getModuleExcludesOption().getOpt() );
250    
251                    if ( values != null )
252                    {
253                        for ( String exclude : values )
254                        {
255                            final Module m = modules.getModule( exclude );
256    
257                            if ( m != null )
258                            {
259                                this.log( Level.INFO, this.getExcludingModuleInfo( this.getLocale(), m.getName() ), null );
260                                modules.getModule().remove( m );
261                            }
262                        }
263                    }
264                }
265    
266                Module classpathModule = null;
267                if ( !commandLine.hasOption( this.getNoClasspathResolutionOption().getOpt() ) )
268                {
269                    classpathModule = modules.getClasspathModule( Modules.getDefaultClasspathModuleName(), classLoader );
270                    if ( classpathModule != null && modules.getModule( Modules.getDefaultClasspathModuleName() ) == null )
271                    {
272                        modules.getModule().add( classpathModule );
273                    }
274                    else
275                    {
276                        classpathModule = null;
277                    }
278                }
279    
280                final ModelValidationReport validationReport = context.validateModel(
281                    model, new JAXBSource( marshaller, new ObjectFactory().createModules( modules ) ) );
282    
283                this.log( validationReport, marshaller );
284    
285                if ( !validationReport.isModelValid() )
286                {
287                    throw new CommandExecutionException( this.getInvalidModelMessage( this.getLocale(), model ) );
288                }
289    
290                if ( classpathModule != null )
291                {
292                    modules.getModule().remove( classpathModule );
293                }
294    
295                Module mergedModule =
296                    modules.getMergedModule( commandLine.getOptionValue( this.getModuleNameOption().getOpt() ) );
297    
298                mergedModule.setVersion( moduleVersion );
299                mergedModule.setVendor( moduleVendor );
300    
301                final File moduleFile = new File( commandLine.getOptionValue( this.getDocumentOption().getOpt() ) );
302    
303                if ( stylesheetFile != null )
304                {
305                    final Transformer transformer = this.createTransformer( new StreamSource( stylesheetFile ) );
306                    final JAXBSource source =
307                        new JAXBSource( marshaller, new ObjectFactory().createModule( mergedModule ) );
308    
309                    final JAXBResult result = new JAXBResult( unmarshaller );
310                    unmarshaller.setSchema( null );
311                    transformer.transform( source, result );
312    
313                    if ( result.getResult() instanceof JAXBElement<?>
314                         && ( (JAXBElement<?>) result.getResult() ).getValue() instanceof Module )
315                    {
316                        mergedModule = (Module) ( (JAXBElement<?>) result.getResult() ).getValue();
317                    }
318                    else
319                    {
320                        throw new CommandExecutionException( this.getIllegalTransformationResultError(
321                            this.getLocale(), stylesheetFile.getAbsolutePath() ) );
322    
323                    }
324                }
325    
326                marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
327    
328                if ( commandLine.hasOption( this.getDocumentEncodingOption().getOpt() ) )
329                {
330                    marshaller.setProperty( Marshaller.JAXB_ENCODING,
331                                            commandLine.getOptionValue( this.getDocumentEncodingOption().getOpt() ) );
332    
333                }
334    
335                marshaller.setSchema( context.createSchema( model ) );
336                marshaller.marshal( new ObjectFactory().createModule( mergedModule ), moduleFile );
337    
338                if ( this.isLoggable( Level.INFO ) )
339                {
340                    this.log( Level.INFO, this.getWriteInfo( this.getLocale(), moduleFile.getAbsolutePath() ), null );
341                }
342    
343                suppressExceptionOnClose = false;
344            }
345            catch ( final IOException e )
346            {
347                throw new CommandExecutionException( getExceptionMessage( e ), e );
348            }
349            catch ( final TransformerException e )
350            {
351                String message = getExceptionMessage( e );
352                if ( message == null )
353                {
354                    message = getExceptionMessage( e.getException() );
355                }
356    
357                throw new CommandExecutionException( message, e );
358            }
359            catch ( final JAXBException e )
360            {
361                String message = getExceptionMessage( e );
362                if ( message == null )
363                {
364                    message = getExceptionMessage( e.getLinkedException() );
365                }
366    
367                throw new CommandExecutionException( message, e );
368            }
369            catch ( final ModelException e )
370            {
371                throw new CommandExecutionException( getExceptionMessage( e ), e );
372            }
373            finally
374            {
375                try
376                {
377                    if ( classLoader != null )
378                    {
379                        classLoader.close();
380                    }
381                }
382                catch ( final IOException e )
383                {
384                    if ( suppressExceptionOnClose )
385                    {
386                        this.log( Level.SEVERE, getExceptionMessage( e ), e );
387                    }
388                    else
389                    {
390                        throw new CommandExecutionException( getExceptionMessage( e ), e );
391                    }
392                }
393            }
394        }
395    
396        // SECTION-END
397        // SECTION-START[Constructors]
398        // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
399        /** Creates a new {@code MergeModulesCommand} instance. */
400        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
401        public MergeModulesCommand()
402        {
403            // SECTION-START[Default Constructor]
404            super();
405            // SECTION-END
406        }
407        // </editor-fold>
408        // SECTION-END
409        // SECTION-START[Dependencies]
410        // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies ">
411        /**
412         * Gets the {@code <ClasspathOption>} dependency.
413         * <p>
414         *   This method returns the {@code <JOMC CLI Classpath Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
415         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
416         * </p>
417         * <dl>
418         *   <dt><b>Final:</b></dt><dd>No</dd>
419         * </dl>
420         * @return The {@code <ClasspathOption>} dependency.
421         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
422         */
423        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
424        private org.apache.commons.cli.Option getClasspathOption()
425        {
426            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ClasspathOption" );
427            assert _d != null : "'ClasspathOption' dependency not found.";
428            return _d;
429        }
430        /**
431         * Gets the {@code <DocumentEncodingOption>} dependency.
432         * <p>
433         *   This method returns the {@code <JOMC CLI Document Encoding Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
434         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
435         * </p>
436         * <dl>
437         *   <dt><b>Final:</b></dt><dd>No</dd>
438         * </dl>
439         * @return The {@code <DocumentEncodingOption>} dependency.
440         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
441         */
442        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
443        private org.apache.commons.cli.Option getDocumentEncodingOption()
444        {
445            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "DocumentEncodingOption" );
446            assert _d != null : "'DocumentEncodingOption' dependency not found.";
447            return _d;
448        }
449        /**
450         * Gets the {@code <DocumentOption>} dependency.
451         * <p>
452         *   This method returns the {@code <JOMC CLI Document Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
453         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
454         * </p>
455         * <p><strong>Properties:</strong>
456         *   <table border="1" width="100%" cellpadding="3" cellspacing="0">
457         *     <tr class="TableSubHeadingColor">
458         *       <th align="left" scope="col" nowrap><b>Name</b></th>
459         *       <th align="left" scope="col" nowrap><b>Type</b></th>
460         *       <th align="left" scope="col" nowrap><b>Documentation</b></th>
461         *     </tr>
462         *     <tr class="TableRow">
463         *       <td align="left" valign="top" nowrap>{@code <required>}</td>
464         *       <td align="left" valign="top" nowrap>{@code boolean}</td>
465         *       <td align="left" valign="top"></td>
466         *     </tr>
467         *   </table>
468         * </p>
469         * <dl>
470         *   <dt><b>Final:</b></dt><dd>No</dd>
471         * </dl>
472         * @return The {@code <DocumentOption>} dependency.
473         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
474         */
475        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
476        private org.apache.commons.cli.Option getDocumentOption()
477        {
478            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "DocumentOption" );
479            assert _d != null : "'DocumentOption' dependency not found.";
480            return _d;
481        }
482        /**
483         * Gets the {@code <DocumentsOption>} dependency.
484         * <p>
485         *   This method returns the {@code <JOMC CLI Documents Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
486         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
487         * </p>
488         * <dl>
489         *   <dt><b>Final:</b></dt><dd>No</dd>
490         * </dl>
491         * @return The {@code <DocumentsOption>} dependency.
492         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
493         */
494        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
495        private org.apache.commons.cli.Option getDocumentsOption()
496        {
497            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "DocumentsOption" );
498            assert _d != null : "'DocumentsOption' dependency not found.";
499            return _d;
500        }
501        /**
502         * Gets the {@code <Locale>} dependency.
503         * <p>
504         *   This method returns the {@code <default>} object of the {@code <java.util.Locale>} specification at specification level 1.1.
505         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
506         * </p>
507         * <dl>
508         *   <dt><b>Final:</b></dt><dd>No</dd>
509         * </dl>
510         * @return The {@code <Locale>} dependency.
511         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
512         */
513        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
514        private java.util.Locale getLocale()
515        {
516            final java.util.Locale _d = (java.util.Locale) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Locale" );
517            assert _d != null : "'Locale' dependency not found.";
518            return _d;
519        }
520        /**
521         * Gets the {@code <ModelContextFactoryOption>} dependency.
522         * <p>
523         *   This method returns the {@code <JOMC CLI ModelContextFactory Class Name Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
524         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
525         * </p>
526         * <dl>
527         *   <dt><b>Final:</b></dt><dd>No</dd>
528         * </dl>
529         * @return The {@code <ModelContextFactoryOption>} dependency.
530         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
531         */
532        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
533        private org.apache.commons.cli.Option getModelContextFactoryOption()
534        {
535            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModelContextFactoryOption" );
536            assert _d != null : "'ModelContextFactoryOption' dependency not found.";
537            return _d;
538        }
539        /**
540         * Gets the {@code <ModelOption>} dependency.
541         * <p>
542         *   This method returns the {@code <JOMC CLI Model Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
543         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
544         * </p>
545         * <dl>
546         *   <dt><b>Final:</b></dt><dd>No</dd>
547         * </dl>
548         * @return The {@code <ModelOption>} dependency.
549         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
550         */
551        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
552        private org.apache.commons.cli.Option getModelOption()
553        {
554            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModelOption" );
555            assert _d != null : "'ModelOption' dependency not found.";
556            return _d;
557        }
558        /**
559         * Gets the {@code <ModletLocationOption>} dependency.
560         * <p>
561         *   This method returns the {@code <JOMC CLI Modlet Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
562         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
563         * </p>
564         * <dl>
565         *   <dt><b>Final:</b></dt><dd>No</dd>
566         * </dl>
567         * @return The {@code <ModletLocationOption>} dependency.
568         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
569         */
570        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
571        private org.apache.commons.cli.Option getModletLocationOption()
572        {
573            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModletLocationOption" );
574            assert _d != null : "'ModletLocationOption' dependency not found.";
575            return _d;
576        }
577        /**
578         * Gets the {@code <ModletSchemaSystemIdOption>} dependency.
579         * <p>
580         *   This method returns the {@code <JOMC CLI Modlet Schema System Id Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
581         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
582         * </p>
583         * <dl>
584         *   <dt><b>Final:</b></dt><dd>No</dd>
585         * </dl>
586         * @return The {@code <ModletSchemaSystemIdOption>} dependency.
587         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
588         */
589        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
590        private org.apache.commons.cli.Option getModletSchemaSystemIdOption()
591        {
592            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModletSchemaSystemIdOption" );
593            assert _d != null : "'ModletSchemaSystemIdOption' dependency not found.";
594            return _d;
595        }
596        /**
597         * Gets the {@code <ModuleExcludesOption>} dependency.
598         * <p>
599         *   This method returns the {@code <JOMC CLI Module Excludes Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
600         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
601         * </p>
602         * <dl>
603         *   <dt><b>Final:</b></dt><dd>No</dd>
604         * </dl>
605         * @return The {@code <ModuleExcludesOption>} dependency.
606         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
607         */
608        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
609        private org.apache.commons.cli.Option getModuleExcludesOption()
610        {
611            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleExcludesOption" );
612            assert _d != null : "'ModuleExcludesOption' dependency not found.";
613            return _d;
614        }
615        /**
616         * Gets the {@code <ModuleIncludesOption>} dependency.
617         * <p>
618         *   This method returns the {@code <JOMC CLI Module Includes Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
619         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
620         * </p>
621         * <dl>
622         *   <dt><b>Final:</b></dt><dd>No</dd>
623         * </dl>
624         * @return The {@code <ModuleIncludesOption>} dependency.
625         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
626         */
627        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
628        private org.apache.commons.cli.Option getModuleIncludesOption()
629        {
630            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleIncludesOption" );
631            assert _d != null : "'ModuleIncludesOption' dependency not found.";
632            return _d;
633        }
634        /**
635         * Gets the {@code <ModuleLocationOption>} dependency.
636         * <p>
637         *   This method returns the {@code <JOMC CLI Module Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
638         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
639         * </p>
640         * <dl>
641         *   <dt><b>Final:</b></dt><dd>No</dd>
642         * </dl>
643         * @return The {@code <ModuleLocationOption>} dependency.
644         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
645         */
646        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
647        private org.apache.commons.cli.Option getModuleLocationOption()
648        {
649            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleLocationOption" );
650            assert _d != null : "'ModuleLocationOption' dependency not found.";
651            return _d;
652        }
653        /**
654         * Gets the {@code <ModuleNameOption>} dependency.
655         * <p>
656         *   This method returns the {@code <JOMC CLI Module Name Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
657         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
658         * </p>
659         * <p><strong>Properties:</strong>
660         *   <table border="1" width="100%" cellpadding="3" cellspacing="0">
661         *     <tr class="TableSubHeadingColor">
662         *       <th align="left" scope="col" nowrap><b>Name</b></th>
663         *       <th align="left" scope="col" nowrap><b>Type</b></th>
664         *       <th align="left" scope="col" nowrap><b>Documentation</b></th>
665         *     </tr>
666         *     <tr class="TableRow">
667         *       <td align="left" valign="top" nowrap>{@code <required>}</td>
668         *       <td align="left" valign="top" nowrap>{@code boolean}</td>
669         *       <td align="left" valign="top"></td>
670         *     </tr>
671         *   </table>
672         * </p>
673         * <dl>
674         *   <dt><b>Final:</b></dt><dd>No</dd>
675         * </dl>
676         * @return The {@code <ModuleNameOption>} dependency.
677         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
678         */
679        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
680        private org.apache.commons.cli.Option getModuleNameOption()
681        {
682            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleNameOption" );
683            assert _d != null : "'ModuleNameOption' dependency not found.";
684            return _d;
685        }
686        /**
687         * Gets the {@code <ModuleVendorOption>} dependency.
688         * <p>
689         *   This method returns the {@code <JOMC CLI Module Vendor Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
690         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
691         * </p>
692         * <dl>
693         *   <dt><b>Final:</b></dt><dd>No</dd>
694         * </dl>
695         * @return The {@code <ModuleVendorOption>} dependency.
696         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
697         */
698        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
699        private org.apache.commons.cli.Option getModuleVendorOption()
700        {
701            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleVendorOption" );
702            assert _d != null : "'ModuleVendorOption' dependency not found.";
703            return _d;
704        }
705        /**
706         * Gets the {@code <ModuleVersionOption>} dependency.
707         * <p>
708         *   This method returns the {@code <JOMC CLI Module Version Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
709         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
710         * </p>
711         * <dl>
712         *   <dt><b>Final:</b></dt><dd>No</dd>
713         * </dl>
714         * @return The {@code <ModuleVersionOption>} dependency.
715         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
716         */
717        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
718        private org.apache.commons.cli.Option getModuleVersionOption()
719        {
720            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleVersionOption" );
721            assert _d != null : "'ModuleVersionOption' dependency not found.";
722            return _d;
723        }
724        /**
725         * Gets the {@code <NoClasspathResolutionOption>} dependency.
726         * <p>
727         *   This method returns the {@code <JOMC CLI No Classpath Resolution Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
728         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
729         * </p>
730         * <dl>
731         *   <dt><b>Final:</b></dt><dd>No</dd>
732         * </dl>
733         * @return The {@code <NoClasspathResolutionOption>} dependency.
734         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
735         */
736        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
737        private org.apache.commons.cli.Option getNoClasspathResolutionOption()
738        {
739            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoClasspathResolutionOption" );
740            assert _d != null : "'NoClasspathResolutionOption' dependency not found.";
741            return _d;
742        }
743        /**
744         * Gets the {@code <NoModelProcessingOption>} dependency.
745         * <p>
746         *   This method returns the {@code <JOMC CLI No Model Processing Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
747         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
748         * </p>
749         * <dl>
750         *   <dt><b>Final:</b></dt><dd>No</dd>
751         * </dl>
752         * @return The {@code <NoModelProcessingOption>} dependency.
753         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
754         */
755        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
756        private org.apache.commons.cli.Option getNoModelProcessingOption()
757        {
758            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoModelProcessingOption" );
759            assert _d != null : "'NoModelProcessingOption' dependency not found.";
760            return _d;
761        }
762        /**
763         * Gets the {@code <NoModelResourceValidation>} dependency.
764         * <p>
765         *   This method returns the {@code <JOMC CLI No Model Resource Validation Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
766         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
767         * </p>
768         * <dl>
769         *   <dt><b>Final:</b></dt><dd>No</dd>
770         * </dl>
771         * @return The {@code <NoModelResourceValidation>} dependency.
772         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
773         */
774        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
775        private org.apache.commons.cli.Option getNoModelResourceValidation()
776        {
777            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoModelResourceValidation" );
778            assert _d != null : "'NoModelResourceValidation' dependency not found.";
779            return _d;
780        }
781        /**
782         * Gets the {@code <NoModletResourceValidation>} dependency.
783         * <p>
784         *   This method returns the {@code <JOMC CLI No Modlet Resource Validation Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
785         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
786         * </p>
787         * <dl>
788         *   <dt><b>Final:</b></dt><dd>No</dd>
789         * </dl>
790         * @return The {@code <NoModletResourceValidation>} dependency.
791         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
792         */
793        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
794        private org.apache.commons.cli.Option getNoModletResourceValidation()
795        {
796            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoModletResourceValidation" );
797            assert _d != null : "'NoModletResourceValidation' dependency not found.";
798            return _d;
799        }
800        /**
801         * Gets the {@code <PlatformProviderLocationOption>} dependency.
802         * <p>
803         *   This method returns the {@code <JOMC CLI Platform Provider Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
804         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
805         * </p>
806         * <dl>
807         *   <dt><b>Final:</b></dt><dd>No</dd>
808         * </dl>
809         * @return The {@code <PlatformProviderLocationOption>} dependency.
810         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
811         */
812        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
813        private org.apache.commons.cli.Option getPlatformProviderLocationOption()
814        {
815            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "PlatformProviderLocationOption" );
816            assert _d != null : "'PlatformProviderLocationOption' dependency not found.";
817            return _d;
818        }
819        /**
820         * Gets the {@code <ProviderLocationOption>} dependency.
821         * <p>
822         *   This method returns the {@code <JOMC CLI Provider Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
823         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
824         * </p>
825         * <dl>
826         *   <dt><b>Final:</b></dt><dd>No</dd>
827         * </dl>
828         * @return The {@code <ProviderLocationOption>} dependency.
829         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
830         */
831        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
832        private org.apache.commons.cli.Option getProviderLocationOption()
833        {
834            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ProviderLocationOption" );
835            assert _d != null : "'ProviderLocationOption' dependency not found.";
836            return _d;
837        }
838        /**
839         * Gets the {@code <ResourcesOption>} dependency.
840         * <p>
841         *   This method returns the {@code <JOMC CLI Resources Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
842         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
843         * </p>
844         * <dl>
845         *   <dt><b>Final:</b></dt><dd>No</dd>
846         * </dl>
847         * @return The {@code <ResourcesOption>} dependency.
848         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
849         */
850        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
851        private org.apache.commons.cli.Option getResourcesOption()
852        {
853            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ResourcesOption" );
854            assert _d != null : "'ResourcesOption' dependency not found.";
855            return _d;
856        }
857        /**
858         * Gets the {@code <StylesheetOption>} dependency.
859         * <p>
860         *   This method returns the {@code <JOMC CLI Stylesheet Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
861         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
862         * </p>
863         * <dl>
864         *   <dt><b>Final:</b></dt><dd>No</dd>
865         * </dl>
866         * @return The {@code <StylesheetOption>} dependency.
867         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
868         */
869        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
870        private org.apache.commons.cli.Option getStylesheetOption()
871        {
872            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "StylesheetOption" );
873            assert _d != null : "'StylesheetOption' dependency not found.";
874            return _d;
875        }
876        /**
877         * Gets the {@code <TransformerLocationOption>} dependency.
878         * <p>
879         *   This method returns the {@code <JOMC CLI Transformer Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
880         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
881         * </p>
882         * <dl>
883         *   <dt><b>Final:</b></dt><dd>No</dd>
884         * </dl>
885         * @return The {@code <TransformerLocationOption>} dependency.
886         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
887         */
888        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
889        private org.apache.commons.cli.Option getTransformerLocationOption()
890        {
891            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "TransformerLocationOption" );
892            assert _d != null : "'TransformerLocationOption' dependency not found.";
893            return _d;
894        }
895        // </editor-fold>
896        // SECTION-END
897        // SECTION-START[Properties]
898        // <editor-fold defaultstate="collapsed" desc=" Generated Properties ">
899        /**
900         * Gets the value of the {@code <abbreviatedCommandName>} property.
901         * <p><dl>
902         *   <dt><b>Final:</b></dt><dd>No</dd>
903         * </dl></p>
904         * @return Abbreviated name of the command.
905         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
906         */
907        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
908        private java.lang.String getAbbreviatedCommandName()
909        {
910            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "abbreviatedCommandName" );
911            assert _p != null : "'abbreviatedCommandName' property not found.";
912            return _p;
913        }
914        /**
915         * Gets the value of the {@code <applicationModlet>} property.
916         * <p><dl>
917         *   <dt><b>Final:</b></dt><dd>Yes</dd>
918         * </dl></p>
919         * @return Name of the 'shaded' application modlet.
920         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
921         */
922        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
923        private java.lang.String getApplicationModlet()
924        {
925            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "applicationModlet" );
926            assert _p != null : "'applicationModlet' property not found.";
927            return _p;
928        }
929        /**
930         * Gets the value of the {@code <commandName>} property.
931         * <p><dl>
932         *   <dt><b>Final:</b></dt><dd>No</dd>
933         * </dl></p>
934         * @return Name of the command.
935         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
936         */
937        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
938        private java.lang.String getCommandName()
939        {
940            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "commandName" );
941            assert _p != null : "'commandName' property not found.";
942            return _p;
943        }
944        /**
945         * Gets the value of the {@code <modletExcludes>} property.
946         * <p><dl>
947         *   <dt><b>Final:</b></dt><dd>Yes</dd>
948         * </dl></p>
949         * @return List of modlet names to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
950         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
951         */
952        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
953        private java.lang.String getModletExcludes()
954        {
955            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "modletExcludes" );
956            assert _p != null : "'modletExcludes' property not found.";
957            return _p;
958        }
959        /**
960         * Gets the value of the {@code <providerExcludes>} property.
961         * <p><dl>
962         *   <dt><b>Final:</b></dt><dd>Yes</dd>
963         * </dl></p>
964         * @return List of providers to exclude from any {@code META-INF/services} files separated by {@code :}.
965         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
966         */
967        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
968        private java.lang.String getProviderExcludes()
969        {
970            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "providerExcludes" );
971            assert _p != null : "'providerExcludes' property not found.";
972            return _p;
973        }
974        /**
975         * Gets the value of the {@code <schemaExcludes>} property.
976         * <p><dl>
977         *   <dt><b>Final:</b></dt><dd>Yes</dd>
978         * </dl></p>
979         * @return List of schema context-ids to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
980         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
981         */
982        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
983        private java.lang.String getSchemaExcludes()
984        {
985            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "schemaExcludes" );
986            assert _p != null : "'schemaExcludes' property not found.";
987            return _p;
988        }
989        /**
990         * Gets the value of the {@code <serviceExcludes>} property.
991         * <p><dl>
992         *   <dt><b>Final:</b></dt><dd>Yes</dd>
993         * </dl></p>
994         * @return List of service classes to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
995         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
996         */
997        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
998        private java.lang.String getServiceExcludes()
999        {
1000            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "serviceExcludes" );
1001            assert _p != null : "'serviceExcludes' property not found.";
1002            return _p;
1003        }
1004        // </editor-fold>
1005        // SECTION-END
1006        // SECTION-START[Messages]
1007        // <editor-fold defaultstate="collapsed" desc=" Generated Messages ">
1008        /**
1009         * Gets the text of the {@code <applicationTitle>} message.
1010         * <p><dl>
1011         *   <dt><b>Languages:</b></dt>
1012         *     <dd>English (default)</dd>
1013         *   <dt><b>Final:</b></dt><dd>No</dd>
1014         * </dl></p>
1015         * @param locale The locale of the message to return.
1016         * @return The text of the {@code <applicationTitle>} message for {@code locale}.
1017         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1018         */
1019        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1020        private String getApplicationTitle( final java.util.Locale locale )
1021        {
1022            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "applicationTitle", locale );
1023            assert _m != null : "'applicationTitle' message not found.";
1024            return _m;
1025        }
1026        /**
1027         * Gets the text of the {@code <cannotProcessMessage>} message.
1028         * <p><dl>
1029         *   <dt><b>Languages:</b></dt>
1030         *     <dd>English (default)</dd>
1031         *     <dd>Deutsch</dd>
1032         *   <dt><b>Final:</b></dt><dd>No</dd>
1033         * </dl></p>
1034         * @param locale The locale of the message to return.
1035         * @param itemInfo Format argument.
1036         * @param detailMessage Format argument.
1037         * @return The text of the {@code <cannotProcessMessage>} message for {@code locale}.
1038         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1039         */
1040        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1041        private String getCannotProcessMessage( final java.util.Locale locale, final java.lang.String itemInfo, final java.lang.String detailMessage )
1042        {
1043            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "cannotProcessMessage", locale, itemInfo, detailMessage );
1044            assert _m != null : "'cannotProcessMessage' message not found.";
1045            return _m;
1046        }
1047        /**
1048         * Gets the text of the {@code <classpathElementInfo>} message.
1049         * <p><dl>
1050         *   <dt><b>Languages:</b></dt>
1051         *     <dd>English (default)</dd>
1052         *     <dd>Deutsch</dd>
1053         *   <dt><b>Final:</b></dt><dd>No</dd>
1054         * </dl></p>
1055         * @param locale The locale of the message to return.
1056         * @param classpathElement Format argument.
1057         * @return The text of the {@code <classpathElementInfo>} message for {@code locale}.
1058         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1059         */
1060        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1061        private String getClasspathElementInfo( final java.util.Locale locale, final java.lang.String classpathElement )
1062        {
1063            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "classpathElementInfo", locale, classpathElement );
1064            assert _m != null : "'classpathElementInfo' message not found.";
1065            return _m;
1066        }
1067        /**
1068         * Gets the text of the {@code <classpathElementNotFoundWarning>} message.
1069         * <p><dl>
1070         *   <dt><b>Languages:</b></dt>
1071         *     <dd>English (default)</dd>
1072         *     <dd>Deutsch</dd>
1073         *   <dt><b>Final:</b></dt><dd>No</dd>
1074         * </dl></p>
1075         * @param locale The locale of the message to return.
1076         * @param fileName Format argument.
1077         * @return The text of the {@code <classpathElementNotFoundWarning>} message for {@code locale}.
1078         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1079         */
1080        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1081        private String getClasspathElementNotFoundWarning( final java.util.Locale locale, final java.lang.String fileName )
1082        {
1083            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "classpathElementNotFoundWarning", locale, fileName );
1084            assert _m != null : "'classpathElementNotFoundWarning' message not found.";
1085            return _m;
1086        }
1087        /**
1088         * Gets the text of the {@code <commandFailureMessage>} message.
1089         * <p><dl>
1090         *   <dt><b>Languages:</b></dt>
1091         *     <dd>English (default)</dd>
1092         *     <dd>Deutsch</dd>
1093         *   <dt><b>Final:</b></dt><dd>No</dd>
1094         * </dl></p>
1095         * @param locale The locale of the message to return.
1096         * @param toolName Format argument.
1097         * @return The text of the {@code <commandFailureMessage>} message for {@code locale}.
1098         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1099         */
1100        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1101        private String getCommandFailureMessage( final java.util.Locale locale, final java.lang.String toolName )
1102        {
1103            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "commandFailureMessage", locale, toolName );
1104            assert _m != null : "'commandFailureMessage' message not found.";
1105            return _m;
1106        }
1107        /**
1108         * Gets the text of the {@code <commandInfoMessage>} message.
1109         * <p><dl>
1110         *   <dt><b>Languages:</b></dt>
1111         *     <dd>English (default)</dd>
1112         *     <dd>Deutsch</dd>
1113         *   <dt><b>Final:</b></dt><dd>No</dd>
1114         * </dl></p>
1115         * @param locale The locale of the message to return.
1116         * @param toolName Format argument.
1117         * @return The text of the {@code <commandInfoMessage>} message for {@code locale}.
1118         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1119         */
1120        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1121        private String getCommandInfoMessage( final java.util.Locale locale, final java.lang.String toolName )
1122        {
1123            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "commandInfoMessage", locale, toolName );
1124            assert _m != null : "'commandInfoMessage' message not found.";
1125            return _m;
1126        }
1127        /**
1128         * Gets the text of the {@code <commandSuccessMessage>} message.
1129         * <p><dl>
1130         *   <dt><b>Languages:</b></dt>
1131         *     <dd>English (default)</dd>
1132         *     <dd>Deutsch</dd>
1133         *   <dt><b>Final:</b></dt><dd>No</dd>
1134         * </dl></p>
1135         * @param locale The locale of the message to return.
1136         * @param toolName Format argument.
1137         * @return The text of the {@code <commandSuccessMessage>} message for {@code locale}.
1138         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1139         */
1140        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1141        private String getCommandSuccessMessage( final java.util.Locale locale, final java.lang.String toolName )
1142        {
1143            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "commandSuccessMessage", locale, toolName );
1144            assert _m != null : "'commandSuccessMessage' message not found.";
1145            return _m;
1146        }
1147        /**
1148         * Gets the text of the {@code <defaultLogLevelInfo>} message.
1149         * <p><dl>
1150         *   <dt><b>Languages:</b></dt>
1151         *     <dd>English (default)</dd>
1152         *     <dd>Deutsch</dd>
1153         *   <dt><b>Final:</b></dt><dd>No</dd>
1154         * </dl></p>
1155         * @param locale The locale of the message to return.
1156         * @param defaultLogLevel Format argument.
1157         * @return The text of the {@code <defaultLogLevelInfo>} message for {@code locale}.
1158         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1159         */
1160        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1161        private String getDefaultLogLevelInfo( final java.util.Locale locale, final java.lang.String defaultLogLevel )
1162        {
1163            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "defaultLogLevelInfo", locale, defaultLogLevel );
1164            assert _m != null : "'defaultLogLevelInfo' message not found.";
1165            return _m;
1166        }
1167        /**
1168         * Gets the text of the {@code <documentFileInfo>} message.
1169         * <p><dl>
1170         *   <dt><b>Languages:</b></dt>
1171         *     <dd>English (default)</dd>
1172         *     <dd>Deutsch</dd>
1173         *   <dt><b>Final:</b></dt><dd>No</dd>
1174         * </dl></p>
1175         * @param locale The locale of the message to return.
1176         * @param documentFile Format argument.
1177         * @return The text of the {@code <documentFileInfo>} message for {@code locale}.
1178         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1179         */
1180        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1181        private String getDocumentFileInfo( final java.util.Locale locale, final java.lang.String documentFile )
1182        {
1183            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "documentFileInfo", locale, documentFile );
1184            assert _m != null : "'documentFileInfo' message not found.";
1185            return _m;
1186        }
1187        /**
1188         * Gets the text of the {@code <documentFileNotFoundWarning>} message.
1189         * <p><dl>
1190         *   <dt><b>Languages:</b></dt>
1191         *     <dd>English (default)</dd>
1192         *     <dd>Deutsch</dd>
1193         *   <dt><b>Final:</b></dt><dd>No</dd>
1194         * </dl></p>
1195         * @param locale The locale of the message to return.
1196         * @param fileName Format argument.
1197         * @return The text of the {@code <documentFileNotFoundWarning>} message for {@code locale}.
1198         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1199         */
1200        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1201        private String getDocumentFileNotFoundWarning( final java.util.Locale locale, final java.lang.String fileName )
1202        {
1203            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "documentFileNotFoundWarning", locale, fileName );
1204            assert _m != null : "'documentFileNotFoundWarning' message not found.";
1205            return _m;
1206        }
1207        /**
1208         * Gets the text of the {@code <excludedModletInfo>} message.
1209         * <p><dl>
1210         *   <dt><b>Languages:</b></dt>
1211         *     <dd>English (default)</dd>
1212         *     <dd>Deutsch</dd>
1213         *   <dt><b>Final:</b></dt><dd>No</dd>
1214         * </dl></p>
1215         * @param locale The locale of the message to return.
1216         * @param resourceName Format argument.
1217         * @param modletIdentifier Format argument.
1218         * @return The text of the {@code <excludedModletInfo>} message for {@code locale}.
1219         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1220         */
1221        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1222        private String getExcludedModletInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String modletIdentifier )
1223        {
1224            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedModletInfo", locale, resourceName, modletIdentifier );
1225            assert _m != null : "'excludedModletInfo' message not found.";
1226            return _m;
1227        }
1228        /**
1229         * Gets the text of the {@code <excludedProviderInfo>} message.
1230         * <p><dl>
1231         *   <dt><b>Languages:</b></dt>
1232         *     <dd>English (default)</dd>
1233         *     <dd>Deutsch</dd>
1234         *   <dt><b>Final:</b></dt><dd>No</dd>
1235         * </dl></p>
1236         * @param locale The locale of the message to return.
1237         * @param resourceName Format argument.
1238         * @param providerName Format argument.
1239         * @return The text of the {@code <excludedProviderInfo>} message for {@code locale}.
1240         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1241         */
1242        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1243        private String getExcludedProviderInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String providerName )
1244        {
1245            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedProviderInfo", locale, resourceName, providerName );
1246            assert _m != null : "'excludedProviderInfo' message not found.";
1247            return _m;
1248        }
1249        /**
1250         * Gets the text of the {@code <excludedSchemaInfo>} message.
1251         * <p><dl>
1252         *   <dt><b>Languages:</b></dt>
1253         *     <dd>English (default)</dd>
1254         *     <dd>Deutsch</dd>
1255         *   <dt><b>Final:</b></dt><dd>No</dd>
1256         * </dl></p>
1257         * @param locale The locale of the message to return.
1258         * @param resourceName Format argument.
1259         * @param contextId Format argument.
1260         * @return The text of the {@code <excludedSchemaInfo>} message for {@code locale}.
1261         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1262         */
1263        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1264        private String getExcludedSchemaInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String contextId )
1265        {
1266            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedSchemaInfo", locale, resourceName, contextId );
1267            assert _m != null : "'excludedSchemaInfo' message not found.";
1268            return _m;
1269        }
1270        /**
1271         * Gets the text of the {@code <excludedServiceInfo>} message.
1272         * <p><dl>
1273         *   <dt><b>Languages:</b></dt>
1274         *     <dd>English (default)</dd>
1275         *     <dd>Deutsch</dd>
1276         *   <dt><b>Final:</b></dt><dd>No</dd>
1277         * </dl></p>
1278         * @param locale The locale of the message to return.
1279         * @param resourceName Format argument.
1280         * @param serviceName Format argument.
1281         * @return The text of the {@code <excludedServiceInfo>} message for {@code locale}.
1282         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1283         */
1284        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1285        private String getExcludedServiceInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String serviceName )
1286        {
1287            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedServiceInfo", locale, resourceName, serviceName );
1288            assert _m != null : "'excludedServiceInfo' message not found.";
1289            return _m;
1290        }
1291        /**
1292         * Gets the text of the {@code <excludingModuleInfo>} message.
1293         * <p><dl>
1294         *   <dt><b>Languages:</b></dt>
1295         *     <dd>English (default)</dd>
1296         *     <dd>Deutsch</dd>
1297         *   <dt><b>Final:</b></dt><dd>No</dd>
1298         * </dl></p>
1299         * @param locale The locale of the message to return.
1300         * @param moduleName Format argument.
1301         * @return The text of the {@code <excludingModuleInfo>} message for {@code locale}.
1302         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1303         */
1304        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1305        private String getExcludingModuleInfo( final java.util.Locale locale, final java.lang.String moduleName )
1306        {
1307            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludingModuleInfo", locale, moduleName );
1308            assert _m != null : "'excludingModuleInfo' message not found.";
1309            return _m;
1310        }
1311        /**
1312         * Gets the text of the {@code <illegalTransformationResultError>} message.
1313         * <p><dl>
1314         *   <dt><b>Languages:</b></dt>
1315         *     <dd>English (default)</dd>
1316         *     <dd>Deutsch</dd>
1317         *   <dt><b>Final:</b></dt><dd>No</dd>
1318         * </dl></p>
1319         * @param locale The locale of the message to return.
1320         * @param stylesheetInfo Format argument.
1321         * @return The text of the {@code <illegalTransformationResultError>} message for {@code locale}.
1322         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1323         */
1324        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1325        private String getIllegalTransformationResultError( final java.util.Locale locale, final java.lang.String stylesheetInfo )
1326        {
1327            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "illegalTransformationResultError", locale, stylesheetInfo );
1328            assert _m != null : "'illegalTransformationResultError' message not found.";
1329            return _m;
1330        }
1331        /**
1332         * Gets the text of the {@code <includingModuleInfo>} message.
1333         * <p><dl>
1334         *   <dt><b>Languages:</b></dt>
1335         *     <dd>English (default)</dd>
1336         *     <dd>Deutsch</dd>
1337         *   <dt><b>Final:</b></dt><dd>No</dd>
1338         * </dl></p>
1339         * @param locale The locale of the message to return.
1340         * @param moduleName Format argument.
1341         * @return The text of the {@code <includingModuleInfo>} message for {@code locale}.
1342         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1343         */
1344        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1345        private String getIncludingModuleInfo( final java.util.Locale locale, final java.lang.String moduleName )
1346        {
1347            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "includingModuleInfo", locale, moduleName );
1348            assert _m != null : "'includingModuleInfo' message not found.";
1349            return _m;
1350        }
1351        /**
1352         * Gets the text of the {@code <invalidModelMessage>} message.
1353         * <p><dl>
1354         *   <dt><b>Languages:</b></dt>
1355         *     <dd>English (default)</dd>
1356         *     <dd>Deutsch</dd>
1357         *   <dt><b>Final:</b></dt><dd>No</dd>
1358         * </dl></p>
1359         * @param locale The locale of the message to return.
1360         * @param modelIdentifier Format argument.
1361         * @return The text of the {@code <invalidModelMessage>} message for {@code locale}.
1362         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1363         */
1364        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1365        private String getInvalidModelMessage( final java.util.Locale locale, final java.lang.String modelIdentifier )
1366        {
1367            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "invalidModelMessage", locale, modelIdentifier );
1368            assert _m != null : "'invalidModelMessage' message not found.";
1369            return _m;
1370        }
1371        /**
1372         * Gets the text of the {@code <longDescriptionMessage>} message.
1373         * <p><dl>
1374         *   <dt><b>Languages:</b></dt>
1375         *     <dd>English (default)</dd>
1376         *     <dd>Deutsch</dd>
1377         *   <dt><b>Final:</b></dt><dd>No</dd>
1378         * </dl></p>
1379         * @param locale The locale of the message to return.
1380         * @return The text of the {@code <longDescriptionMessage>} message for {@code locale}.
1381         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1382         */
1383        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1384        private String getLongDescriptionMessage( final java.util.Locale locale )
1385        {
1386            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "longDescriptionMessage", locale );
1387            assert _m != null : "'longDescriptionMessage' message not found.";
1388            return _m;
1389        }
1390        /**
1391         * Gets the text of the {@code <readingMessage>} message.
1392         * <p><dl>
1393         *   <dt><b>Languages:</b></dt>
1394         *     <dd>English (default)</dd>
1395         *     <dd>Deutsch</dd>
1396         *   <dt><b>Final:</b></dt><dd>No</dd>
1397         * </dl></p>
1398         * @param locale The locale of the message to return.
1399         * @param locationInfo Format argument.
1400         * @return The text of the {@code <readingMessage>} message for {@code locale}.
1401         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1402         */
1403        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1404        private String getReadingMessage( final java.util.Locale locale, final java.lang.String locationInfo )
1405        {
1406            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "readingMessage", locale, locationInfo );
1407            assert _m != null : "'readingMessage' message not found.";
1408            return _m;
1409        }
1410        /**
1411         * Gets the text of the {@code <separator>} message.
1412         * <p><dl>
1413         *   <dt><b>Languages:</b></dt>
1414         *     <dd>English (default)</dd>
1415         *   <dt><b>Final:</b></dt><dd>No</dd>
1416         * </dl></p>
1417         * @param locale The locale of the message to return.
1418         * @return The text of the {@code <separator>} message for {@code locale}.
1419         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1420         */
1421        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1422        private String getSeparator( final java.util.Locale locale )
1423        {
1424            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "separator", locale );
1425            assert _m != null : "'separator' message not found.";
1426            return _m;
1427        }
1428        /**
1429         * Gets the text of the {@code <shortDescriptionMessage>} message.
1430         * <p><dl>
1431         *   <dt><b>Languages:</b></dt>
1432         *     <dd>English (default)</dd>
1433         *     <dd>Deutsch</dd>
1434         *   <dt><b>Final:</b></dt><dd>No</dd>
1435         * </dl></p>
1436         * @param locale The locale of the message to return.
1437         * @return The text of the {@code <shortDescriptionMessage>} message for {@code locale}.
1438         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1439         */
1440        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1441        private String getShortDescriptionMessage( final java.util.Locale locale )
1442        {
1443            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "shortDescriptionMessage", locale );
1444            assert _m != null : "'shortDescriptionMessage' message not found.";
1445            return _m;
1446        }
1447        /**
1448         * Gets the text of the {@code <writeInfo>} message.
1449         * <p><dl>
1450         *   <dt><b>Languages:</b></dt>
1451         *     <dd>English (default)</dd>
1452         *     <dd>Deutsch</dd>
1453         *   <dt><b>Final:</b></dt><dd>No</dd>
1454         * </dl></p>
1455         * @param locale The locale of the message to return.
1456         * @param fileName Format argument.
1457         * @return The text of the {@code <writeInfo>} message for {@code locale}.
1458         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1459         */
1460        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1461        private String getWriteInfo( final java.util.Locale locale, final java.lang.String fileName )
1462        {
1463            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "writeInfo", locale, fileName );
1464            assert _m != null : "'writeInfo' message not found.";
1465            return _m;
1466        }
1467        // </editor-fold>
1468        // SECTION-END
1469        // SECTION-START[Generated Command]
1470        // <editor-fold defaultstate="collapsed" desc=" Generated Options ">
1471        /**
1472         * Gets the options of the command.
1473         * <p><strong>Options:</strong>
1474         *   <table border="1" width="100%" cellpadding="3" cellspacing="0">
1475         *     <tr class="TableSubHeadingColor">
1476         *       <th align="left" scope="col" nowrap><b>Specification</b></th>
1477         *       <th align="left" scope="col" nowrap><b>Implementation</b></th>
1478         *     </tr>
1479         *     <tr class="TableRow">
1480         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1481         *       <td align="left" valign="top" nowrap>JOMC CLI Classpath Option</td>
1482         *     </tr>
1483         *     <tr class="TableRow">
1484         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1485         *       <td align="left" valign="top" nowrap>JOMC CLI Document Encoding Option</td>
1486         *     </tr>
1487         *     <tr class="TableRow">
1488         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1489         *       <td align="left" valign="top" nowrap>JOMC CLI Document Option</td>
1490         *     </tr>
1491         *     <tr class="TableRow">
1492         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1493         *       <td align="left" valign="top" nowrap>JOMC CLI Documents Option</td>
1494         *     </tr>
1495         *     <tr class="TableRow">
1496         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1497         *       <td align="left" valign="top" nowrap>JOMC CLI ModelContextFactory Class Name Option</td>
1498         *     </tr>
1499         *     <tr class="TableRow">
1500         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1501         *       <td align="left" valign="top" nowrap>JOMC CLI Model Option</td>
1502         *     </tr>
1503         *     <tr class="TableRow">
1504         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1505         *       <td align="left" valign="top" nowrap>JOMC CLI Modlet Location Option</td>
1506         *     </tr>
1507         *     <tr class="TableRow">
1508         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1509         *       <td align="left" valign="top" nowrap>JOMC CLI Modlet Schema System Id Option</td>
1510         *     </tr>
1511         *     <tr class="TableRow">
1512         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1513         *       <td align="left" valign="top" nowrap>JOMC CLI Module Excludes Option</td>
1514         *     </tr>
1515         *     <tr class="TableRow">
1516         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1517         *       <td align="left" valign="top" nowrap>JOMC CLI Module Includes Option</td>
1518         *     </tr>
1519         *     <tr class="TableRow">
1520         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1521         *       <td align="left" valign="top" nowrap>JOMC CLI Module Location Option</td>
1522         *     </tr>
1523         *     <tr class="TableRow">
1524         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1525         *       <td align="left" valign="top" nowrap>JOMC CLI Module Name Option</td>
1526         *     </tr>
1527         *     <tr class="TableRow">
1528         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1529         *       <td align="left" valign="top" nowrap>JOMC CLI Module Vendor Option</td>
1530         *     </tr>
1531         *     <tr class="TableRow">
1532         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1533         *       <td align="left" valign="top" nowrap>JOMC CLI Module Version Option</td>
1534         *     </tr>
1535         *     <tr class="TableRow">
1536         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1537         *       <td align="left" valign="top" nowrap>JOMC CLI No Classpath Resolution Option</td>
1538         *     </tr>
1539         *     <tr class="TableRow">
1540         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1541         *       <td align="left" valign="top" nowrap>JOMC CLI No Model Processing Option</td>
1542         *     </tr>
1543         *     <tr class="TableRow">
1544         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1545         *       <td align="left" valign="top" nowrap>JOMC CLI No Model Resource Validation Option</td>
1546         *     </tr>
1547         *     <tr class="TableRow">
1548         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1549         *       <td align="left" valign="top" nowrap>JOMC CLI No Modlet Resource Validation Option</td>
1550         *     </tr>
1551         *     <tr class="TableRow">
1552         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1553         *       <td align="left" valign="top" nowrap>JOMC CLI Platform Provider Location Option</td>
1554         *     </tr>
1555         *     <tr class="TableRow">
1556         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1557         *       <td align="left" valign="top" nowrap>JOMC CLI Provider Location Option</td>
1558         *     </tr>
1559         *     <tr class="TableRow">
1560         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1561         *       <td align="left" valign="top" nowrap>JOMC CLI Resources Option</td>
1562         *     </tr>
1563         *     <tr class="TableRow">
1564         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1565         *       <td align="left" valign="top" nowrap>JOMC CLI Stylesheet Option</td>
1566         *     </tr>
1567         *     <tr class="TableRow">
1568         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1569         *       <td align="left" valign="top" nowrap>JOMC CLI Transformer Location Option</td>
1570         *     </tr>
1571         *   </table>
1572         * </p>
1573         * @return The options of the command.
1574         */
1575        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.2", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.2" )
1576        @Override
1577        public org.apache.commons.cli.Options getOptions()
1578        {
1579            final org.apache.commons.cli.Options options = new org.apache.commons.cli.Options();
1580            options.addOption( this.getClasspathOption() );
1581            options.addOption( this.getDocumentEncodingOption() );
1582            options.addOption( this.getDocumentOption() );
1583            options.addOption( this.getDocumentsOption() );
1584            options.addOption( this.getModelContextFactoryOption() );
1585            options.addOption( this.getModelOption() );
1586            options.addOption( this.getModletLocationOption() );
1587            options.addOption( this.getModletSchemaSystemIdOption() );
1588            options.addOption( this.getModuleExcludesOption() );
1589            options.addOption( this.getModuleIncludesOption() );
1590            options.addOption( this.getModuleLocationOption() );
1591            options.addOption( this.getModuleNameOption() );
1592            options.addOption( this.getModuleVendorOption() );
1593            options.addOption( this.getModuleVersionOption() );
1594            options.addOption( this.getNoClasspathResolutionOption() );
1595            options.addOption( this.getNoModelProcessingOption() );
1596            options.addOption( this.getNoModelResourceValidation() );
1597            options.addOption( this.getNoModletResourceValidation() );
1598            options.addOption( this.getPlatformProviderLocationOption() );
1599            options.addOption( this.getProviderLocationOption() );
1600            options.addOption( this.getResourcesOption() );
1601            options.addOption( this.getStylesheetOption() );
1602            options.addOption( this.getTransformerLocationOption() );
1603            return options;
1604        }
1605        // </editor-fold>
1606        // SECTION-END
1607    }