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: AbstractJomcToolCommand.java 4511 2012-04-24 01:59:23Z schulte2005 $
032     *
033     */
034    // </editor-fold>
035    // SECTION-END
036    package org.jomc.cli.commands;
037    
038    import java.io.File;
039    import java.net.MalformedURLException;
040    import java.net.URL;
041    import java.util.Locale;
042    import java.util.logging.Level;
043    import org.apache.commons.cli.CommandLine;
044    import org.apache.commons.lang.StringEscapeUtils;
045    import org.apache.commons.lang.StringUtils;
046    import org.jomc.model.Implementation;
047    import org.jomc.model.Module;
048    import org.jomc.model.Modules;
049    import org.jomc.model.Specification;
050    import org.jomc.model.modlet.ModelHelper;
051    import org.jomc.modlet.Model;
052    import org.jomc.tools.JomcTool;
053    
054    // SECTION-START[Documentation]
055    // <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
056    /**
057     * JOMC CLI {@code JomcTool} based command implementation.
058     *
059     * <dl>
060     *   <dt><b>Identifier:</b></dt><dd>JOMC CLI JomcTool Command</dd>
061     *   <dt><b>Name:</b></dt><dd>JOMC CLI JomcTool Command</dd>
062     *   <dt><b>Specifications:</b></dt>
063     *     <dd>JOMC CLI Command @ 1.0</dd>
064     *   <dt><b>Abstract:</b></dt><dd>Yes</dd>
065     *   <dt><b>Final:</b></dt><dd>No</dd>
066     *   <dt><b>Stateless:</b></dt><dd>No</dd>
067     * </dl>
068     *
069     * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.2
070     * @version 1.2.7
071     */
072    // </editor-fold>
073    // SECTION-END
074    // SECTION-START[Annotations]
075    // <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
076    @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
077    // </editor-fold>
078    // SECTION-END
079    public abstract class AbstractJomcToolCommand extends AbstractModelCommand
080    {
081        // SECTION-START[Command]
082        // SECTION-END
083        // SECTION-START[AbstractJomcToolCommand]
084    
085        /** {@inheritDoc} */
086        @Override
087        protected void postExecuteCommand( final CommandLine commandLine ) throws CommandExecutionException
088        {
089            if ( commandLine == null )
090            {
091                throw new NullPointerException( "commandLine" );
092            }
093    
094            JomcTool.setDefaultTemplateProfile( null );
095    
096            super.postExecuteCommand( commandLine );
097        }
098    
099        /**
100         * Creates a new object for a given class name and type.
101         *
102         * @param className The name of the class to create an object of.
103         * @param type The class of the type of object to create.
104         * @param <T> The type of the object to create.
105         *
106         * @return A new instance of the class with name {@code className}.
107         *
108         * @throws NullPointerException if {@code className} or {@code type} is {@code null}.
109         * @throws CommandExecutionException if creating a new object fails.
110         */
111        protected <T> T createObject( final String className, final Class<T> type ) throws CommandExecutionException
112        {
113            if ( className == null )
114            {
115                throw new NullPointerException( "className" );
116            }
117            if ( type == null )
118            {
119                throw new NullPointerException( "type" );
120            }
121    
122            try
123            {
124                return Class.forName( className ).asSubclass( type ).newInstance();
125            }
126            catch ( final InstantiationException e )
127            {
128                throw new CommandExecutionException(
129                    this.getFailedCreatingObjectMessage( this.getLocale(), className ), e );
130    
131            }
132            catch ( final IllegalAccessException e )
133            {
134                throw new CommandExecutionException(
135                    this.getFailedCreatingObjectMessage( this.getLocale(), className ), e );
136    
137            }
138            catch ( final ClassNotFoundException e )
139            {
140                throw new CommandExecutionException(
141                    this.getFailedCreatingObjectMessage( this.getLocale(), className ), e );
142    
143            }
144            catch ( final ClassCastException e )
145            {
146                throw new CommandExecutionException(
147                    this.getFailedCreatingObjectMessage( this.getLocale(), className ), e );
148    
149            }
150        }
151    
152        /**
153         * Creates a new {@code JomcTool} object for a given class name and type.
154         *
155         * @param commandLine The {@code CommandLine} to configure the new {@code JomcTool} object with.
156         * @param className The name of the class to create an object of.
157         * @param type The class of the type of object to create.
158         * @param <T> The type of the object to create.
159         *
160         * @return A new instance of the class with name {@code className} configured using {@code commandLine}.
161         *
162         * @throws NullPointerException if {@code commandLine}, {@code className} or {@code type} is {@code null}.
163         * @throws CommandExecutionException if creating a new object fails.
164         *
165         * @see #createObject(java.lang.String, java.lang.Class)
166         */
167        protected <T extends JomcTool> T createJomcTool( final String className, final Class<T> type,
168                                                         final CommandLine commandLine ) throws CommandExecutionException
169        {
170            if ( commandLine == null )
171            {
172                throw new NullPointerException( "commandLine" );
173            }
174            if ( className == null )
175            {
176                throw new NullPointerException( "className" );
177            }
178            if ( type == null )
179            {
180                throw new NullPointerException( "type" );
181            }
182    
183            final T tool = this.createObject( className, type );
184            tool.setLogLevel( this.getLogLevel() );
185            tool.setLocale( this.getLocale( commandLine ) );
186            tool.getListeners().add( new JomcTool.Listener()
187            {
188    
189                @Override
190                public void onLog( final Level level, final String message, final Throwable throwable )
191                {
192                    super.onLog( level, message, throwable );
193                    log( level, message, throwable );
194                }
195    
196            } );
197    
198            if ( commandLine.hasOption( this.getDefaultTemplateProfileOption().getOpt() ) )
199            {
200                tool.setDefaultTemplateProfile(
201                    commandLine.getOptionValue( this.getDefaultTemplateProfileOption().getOpt() ) );
202    
203            }
204            if ( commandLine.hasOption( this.getTemplateProfileOption().getOpt() ) )
205            {
206                tool.setTemplateProfile( commandLine.getOptionValue( this.getTemplateProfileOption().getOpt() ) );
207            }
208            if ( commandLine.hasOption( this.getTemplateEncodingOption().getOpt() ) )
209            {
210                tool.setTemplateEncoding( commandLine.getOptionValue( this.getTemplateEncodingOption().getOpt() ) );
211            }
212            if ( commandLine.hasOption( this.getTemplateLocationOption().getOpt() ) )
213            {
214                try
215                {
216                    tool.setTemplateLocation(
217                        new URL( commandLine.getOptionValue( this.getTemplateLocationOption().getOpt() ) ) );
218    
219                }
220                catch ( final MalformedURLException e )
221                {
222                    this.log( Level.FINER, null, e );
223    
224                    try
225                    {
226                        tool.setTemplateLocation( new File(
227                            commandLine.getOptionValue( this.getTemplateLocationOption().getOpt() ) ).toURI().toURL() );
228    
229                    }
230                    catch ( final MalformedURLException e2 )
231                    {
232                        throw new CommandExecutionException( getExceptionMessage( e2 ), e2 );
233                    }
234                }
235            }
236            if ( commandLine.hasOption( this.getInputEncodingOption().getOpt() ) )
237            {
238                tool.setInputEncoding( commandLine.getOptionValue( this.getInputEncodingOption().getOpt() ) );
239            }
240            if ( commandLine.hasOption( this.getOutputEncodingOption().getOpt() ) )
241            {
242                tool.setOutputEncoding( commandLine.getOptionValue( this.getOutputEncodingOption().getOpt() ) );
243            }
244            if ( commandLine.hasOption( this.getIndentationStringOption().getOpt() ) )
245            {
246                tool.setIndentation( StringEscapeUtils.unescapeJava(
247                    commandLine.getOptionValue( this.getIndentationStringOption().getOpt() ) ) );
248    
249            }
250            if ( commandLine.hasOption( this.getLineSeparatorOption().getOpt() ) )
251            {
252                tool.setLineSeparator( StringEscapeUtils.unescapeJava(
253                    commandLine.getOptionValue( this.getLineSeparatorOption().getOpt() ) ) );
254    
255            }
256    
257            return tool;
258        }
259    
260        /**
261         * Gets the specification to process from a given model.
262         *
263         * @param commandLine The command line specifying the specification to process.
264         * @param model The model to get the specification to process from.
265         *
266         * @return The specification to process or {@code null}.
267         *
268         * @throws NullPointerException if {@code commandLine} or {@code model} is {@code null}.
269         */
270        protected final Specification getSpecification( final CommandLine commandLine, final Model model )
271        {
272            if ( commandLine == null )
273            {
274                throw new NullPointerException( "commandLine" );
275            }
276            if ( model == null )
277            {
278                throw new NullPointerException( "model" );
279            }
280    
281            Specification s = null;
282    
283            if ( commandLine.hasOption( this.getSpecificationOption().getOpt() ) )
284            {
285                final String identifier = commandLine.getOptionValue( this.getSpecificationOption().getOpt() );
286                final Modules modules = ModelHelper.getModules( model );
287    
288                if ( modules != null )
289                {
290                    s = modules.getSpecification( identifier );
291                }
292    
293                if ( s == null )
294                {
295                    this.log( Level.WARNING, this.getSpecificationNotFoundWarning( this.getLocale(), identifier ), null );
296                }
297            }
298    
299            return s;
300        }
301    
302        /**
303         * Gets the implementation to process from a given model.
304         *
305         * @param commandLine The command line specifying the implementation to process.
306         * @param model The model to get the implementation to process from.
307         *
308         * @return The implementation to process or {@code null}.
309         *
310         * @throws NullPointerException if {@code commandLine} or {@code model} is {@code null}.
311         */
312        protected final Implementation getImplementation( final CommandLine commandLine, final Model model )
313        {
314            if ( commandLine == null )
315            {
316                throw new NullPointerException( "commandLine" );
317            }
318            if ( model == null )
319            {
320                throw new NullPointerException( "model" );
321            }
322    
323            Implementation i = null;
324    
325            if ( commandLine.hasOption( this.getImplementationOption().getOpt() ) )
326            {
327                final String identifier = commandLine.getOptionValue( this.getImplementationOption().getOpt() );
328                final Modules modules = ModelHelper.getModules( model );
329    
330                if ( modules != null )
331                {
332                    i = modules.getImplementation( identifier );
333                }
334    
335                if ( i == null )
336                {
337                    this.log( Level.WARNING, this.getImplementationNotFoundWarning( this.getLocale(), identifier ), null );
338                }
339            }
340    
341            return i;
342        }
343    
344        /**
345         * Gets the module to process from a given model.
346         *
347         * @param commandLine The command line specifying the implementation to process.
348         * @param model The model to get the module to process from.
349         *
350         * @return The module to process or {@code null}.
351         *
352         * @throws NullPointerException if {@code model} is {@code null}.
353         */
354        protected final Module getModule( final CommandLine commandLine, final Model model )
355        {
356            if ( commandLine == null )
357            {
358                throw new NullPointerException( "commandLine" );
359            }
360            if ( model == null )
361            {
362                throw new NullPointerException( "model" );
363            }
364    
365            Module m = null;
366    
367            if ( commandLine.hasOption( this.getModuleNameOption().getOpt() ) )
368            {
369                final String name = commandLine.getOptionValue( this.getModuleNameOption().getOpt() );
370                final Modules modules = ModelHelper.getModules( model );
371    
372                if ( modules != null )
373                {
374                    m = modules.getModule( name );
375                }
376    
377                if ( m == null )
378                {
379                    this.log( Level.WARNING, this.getModuleNotFoundWarning( this.getLocale(), name ), null );
380                }
381            }
382    
383            return m;
384        }
385    
386        /**
387         * Gets a flag indicating that all modules are requested to be processed.
388         *
389         * @param commandLine The command line to process.
390         *
391         * @return {@code true}, if processing of all modules is requested; {@code false}, else.
392         *
393         * @throws NullPointerException if {@code commandLine} is {@code null}.
394         *
395         * @see #getSpecification(org.apache.commons.cli.CommandLine, org.jomc.modlet.Model)
396         * @see #getImplementation(org.apache.commons.cli.CommandLine, org.jomc.modlet.Model)
397         * @see #getModule(org.apache.commons.cli.CommandLine, org.jomc.modlet.Model)
398         */
399        protected final boolean isModulesProcessingRequested( final CommandLine commandLine )
400        {
401            if ( commandLine == null )
402            {
403                throw new NullPointerException( "commandLine" );
404            }
405    
406            return !( commandLine.hasOption( this.getSpecificationOption().getOpt() )
407                      || commandLine.hasOption( this.getImplementationOption().getOpt() )
408                      || commandLine.hasOption( this.getModuleNameOption().getOpt() ) );
409    
410        }
411    
412        /**
413         * Gets a locale from a command line.
414         *
415         * @param commandLine The command line to get a locale from.
416         *
417         * @return The locale from {@code commandLine} or {@code null}, if {@code commandLine} does not hold options
418         * specifying a locale.
419         */
420        protected final Locale getLocale( final CommandLine commandLine )
421        {
422            if ( commandLine == null )
423            {
424                throw new NullPointerException( "commandLine" );
425            }
426    
427            Locale locale = null;
428    
429            final String lc = commandLine.hasOption( this.getLanguageOption().getOpt() )
430                              ? commandLine.getOptionValue( this.getLanguageOption().getOpt() )
431                              : null;
432    
433            final String cc = commandLine.hasOption( this.getCountryOption().getOpt() )
434                              ? commandLine.getOptionValue( this.getCountryOption().getOpt() )
435                              : null;
436    
437            final String lv = commandLine.hasOption( this.getLocaleVariantOption().getOpt() )
438                              ? commandLine.getOptionValue( this.getLocaleVariantOption().getOpt() )
439                              : null;
440    
441            if ( lc != null || cc != null || lv != null )
442            {
443                locale = new Locale( StringUtils.defaultString( lc ),
444                                     StringUtils.defaultString( cc ),
445                                     StringUtils.defaultString( lv ) );
446    
447            }
448    
449            return locale;
450        }
451    
452        // SECTION-END
453        // SECTION-START[Constructors]
454        // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
455        /** Creates a new {@code AbstractJomcToolCommand} instance. */
456        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
457        public AbstractJomcToolCommand()
458        {
459            // SECTION-START[Default Constructor]
460            super();
461            // SECTION-END
462        }
463        // </editor-fold>
464        // SECTION-END
465        // SECTION-START[Dependencies]
466        // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies ">
467        /**
468         * Gets the {@code <ClasspathOption>} dependency.
469         * <p>
470         *   This method returns the {@code <JOMC CLI Classpath Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
471         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
472         * </p>
473         * <dl>
474         *   <dt><b>Final:</b></dt><dd>No</dd>
475         * </dl>
476         * @return The {@code <ClasspathOption>} dependency.
477         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
478         */
479        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
480        private org.apache.commons.cli.Option getClasspathOption()
481        {
482            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ClasspathOption" );
483            assert _d != null : "'ClasspathOption' dependency not found.";
484            return _d;
485        }
486        /**
487         * Gets the {@code <CountryOption>} dependency.
488         * <p>
489         *   This method returns the {@code <JOMC CLI Country Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
490         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
491         * </p>
492         * <dl>
493         *   <dt><b>Final:</b></dt><dd>No</dd>
494         * </dl>
495         * @return The {@code <CountryOption>} dependency.
496         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
497         */
498        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
499        private org.apache.commons.cli.Option getCountryOption()
500        {
501            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "CountryOption" );
502            assert _d != null : "'CountryOption' dependency not found.";
503            return _d;
504        }
505        /**
506         * Gets the {@code <DefaultTemplateProfileOption>} dependency.
507         * <p>
508         *   This method returns the {@code <JOMC CLI Default Template Profile Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
509         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
510         * </p>
511         * <dl>
512         *   <dt><b>Final:</b></dt><dd>No</dd>
513         * </dl>
514         * @return The {@code <DefaultTemplateProfileOption>} dependency.
515         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
516         */
517        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
518        private org.apache.commons.cli.Option getDefaultTemplateProfileOption()
519        {
520            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "DefaultTemplateProfileOption" );
521            assert _d != null : "'DefaultTemplateProfileOption' dependency not found.";
522            return _d;
523        }
524        /**
525         * Gets the {@code <DocumentsOption>} dependency.
526         * <p>
527         *   This method returns the {@code <JOMC CLI Documents Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
528         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
529         * </p>
530         * <dl>
531         *   <dt><b>Final:</b></dt><dd>No</dd>
532         * </dl>
533         * @return The {@code <DocumentsOption>} dependency.
534         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
535         */
536        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
537        private org.apache.commons.cli.Option getDocumentsOption()
538        {
539            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "DocumentsOption" );
540            assert _d != null : "'DocumentsOption' dependency not found.";
541            return _d;
542        }
543        /**
544         * Gets the {@code <ImplementationOption>} dependency.
545         * <p>
546         *   This method returns the {@code <JOMC CLI Implementation Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
547         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
548         * </p>
549         * <dl>
550         *   <dt><b>Final:</b></dt><dd>No</dd>
551         * </dl>
552         * @return The {@code <ImplementationOption>} dependency.
553         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
554         */
555        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
556        private org.apache.commons.cli.Option getImplementationOption()
557        {
558            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ImplementationOption" );
559            assert _d != null : "'ImplementationOption' dependency not found.";
560            return _d;
561        }
562        /**
563         * Gets the {@code <IndentationStringOption>} dependency.
564         * <p>
565         *   This method returns the {@code <JOMC CLI Indentation String Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
566         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
567         * </p>
568         * <dl>
569         *   <dt><b>Final:</b></dt><dd>No</dd>
570         * </dl>
571         * @return The {@code <IndentationStringOption>} dependency.
572         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
573         */
574        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
575        private org.apache.commons.cli.Option getIndentationStringOption()
576        {
577            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "IndentationStringOption" );
578            assert _d != null : "'IndentationStringOption' dependency not found.";
579            return _d;
580        }
581        /**
582         * Gets the {@code <InputEncodingOption>} dependency.
583         * <p>
584         *   This method returns the {@code <JOMC CLI Input Encoding Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
585         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
586         * </p>
587         * <dl>
588         *   <dt><b>Final:</b></dt><dd>No</dd>
589         * </dl>
590         * @return The {@code <InputEncodingOption>} dependency.
591         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
592         */
593        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
594        private org.apache.commons.cli.Option getInputEncodingOption()
595        {
596            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "InputEncodingOption" );
597            assert _d != null : "'InputEncodingOption' dependency not found.";
598            return _d;
599        }
600        /**
601         * Gets the {@code <LanguageOption>} dependency.
602         * <p>
603         *   This method returns the {@code <JOMC CLI Language Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
604         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
605         * </p>
606         * <dl>
607         *   <dt><b>Final:</b></dt><dd>No</dd>
608         * </dl>
609         * @return The {@code <LanguageOption>} dependency.
610         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
611         */
612        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
613        private org.apache.commons.cli.Option getLanguageOption()
614        {
615            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "LanguageOption" );
616            assert _d != null : "'LanguageOption' dependency not found.";
617            return _d;
618        }
619        /**
620         * Gets the {@code <LineSeparatorOption>} dependency.
621         * <p>
622         *   This method returns the {@code <JOMC CLI Line Separator Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
623         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
624         * </p>
625         * <dl>
626         *   <dt><b>Final:</b></dt><dd>No</dd>
627         * </dl>
628         * @return The {@code <LineSeparatorOption>} dependency.
629         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
630         */
631        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
632        private org.apache.commons.cli.Option getLineSeparatorOption()
633        {
634            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "LineSeparatorOption" );
635            assert _d != null : "'LineSeparatorOption' dependency not found.";
636            return _d;
637        }
638        /**
639         * Gets the {@code <Locale>} dependency.
640         * <p>
641         *   This method returns the {@code <default>} object of the {@code <java.util.Locale>} specification at specification level 1.1.
642         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
643         * </p>
644         * <dl>
645         *   <dt><b>Final:</b></dt><dd>No</dd>
646         * </dl>
647         * @return The {@code <Locale>} dependency.
648         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
649         */
650        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
651        private java.util.Locale getLocale()
652        {
653            final java.util.Locale _d = (java.util.Locale) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Locale" );
654            assert _d != null : "'Locale' dependency not found.";
655            return _d;
656        }
657        /**
658         * Gets the {@code <LocaleVariantOption>} dependency.
659         * <p>
660         *   This method returns the {@code <JOMC CLI Locale Variant Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
661         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
662         * </p>
663         * <dl>
664         *   <dt><b>Final:</b></dt><dd>No</dd>
665         * </dl>
666         * @return The {@code <LocaleVariantOption>} dependency.
667         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
668         */
669        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
670        private org.apache.commons.cli.Option getLocaleVariantOption()
671        {
672            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "LocaleVariantOption" );
673            assert _d != null : "'LocaleVariantOption' dependency not found.";
674            return _d;
675        }
676        /**
677         * Gets the {@code <ModelContextFactoryOption>} dependency.
678         * <p>
679         *   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.
680         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
681         * </p>
682         * <dl>
683         *   <dt><b>Final:</b></dt><dd>No</dd>
684         * </dl>
685         * @return The {@code <ModelContextFactoryOption>} dependency.
686         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
687         */
688        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
689        private org.apache.commons.cli.Option getModelContextFactoryOption()
690        {
691            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModelContextFactoryOption" );
692            assert _d != null : "'ModelContextFactoryOption' dependency not found.";
693            return _d;
694        }
695        /**
696         * Gets the {@code <ModelOption>} dependency.
697         * <p>
698         *   This method returns the {@code <JOMC CLI Model Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
699         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
700         * </p>
701         * <dl>
702         *   <dt><b>Final:</b></dt><dd>No</dd>
703         * </dl>
704         * @return The {@code <ModelOption>} dependency.
705         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
706         */
707        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
708        private org.apache.commons.cli.Option getModelOption()
709        {
710            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModelOption" );
711            assert _d != null : "'ModelOption' dependency not found.";
712            return _d;
713        }
714        /**
715         * Gets the {@code <ModletLocationOption>} dependency.
716         * <p>
717         *   This method returns the {@code <JOMC CLI Modlet Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
718         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
719         * </p>
720         * <dl>
721         *   <dt><b>Final:</b></dt><dd>No</dd>
722         * </dl>
723         * @return The {@code <ModletLocationOption>} dependency.
724         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
725         */
726        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
727        private org.apache.commons.cli.Option getModletLocationOption()
728        {
729            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModletLocationOption" );
730            assert _d != null : "'ModletLocationOption' dependency not found.";
731            return _d;
732        }
733        /**
734         * Gets the {@code <ModletSchemaSystemIdOption>} dependency.
735         * <p>
736         *   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.
737         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
738         * </p>
739         * <dl>
740         *   <dt><b>Final:</b></dt><dd>No</dd>
741         * </dl>
742         * @return The {@code <ModletSchemaSystemIdOption>} dependency.
743         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
744         */
745        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
746        private org.apache.commons.cli.Option getModletSchemaSystemIdOption()
747        {
748            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModletSchemaSystemIdOption" );
749            assert _d != null : "'ModletSchemaSystemIdOption' dependency not found.";
750            return _d;
751        }
752        /**
753         * Gets the {@code <ModuleLocationOption>} dependency.
754         * <p>
755         *   This method returns the {@code <JOMC CLI Module Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
756         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
757         * </p>
758         * <dl>
759         *   <dt><b>Final:</b></dt><dd>No</dd>
760         * </dl>
761         * @return The {@code <ModuleLocationOption>} dependency.
762         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
763         */
764        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
765        private org.apache.commons.cli.Option getModuleLocationOption()
766        {
767            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleLocationOption" );
768            assert _d != null : "'ModuleLocationOption' dependency not found.";
769            return _d;
770        }
771        /**
772         * Gets the {@code <ModuleNameOption>} dependency.
773         * <p>
774         *   This method returns the {@code <JOMC CLI Module Name Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
775         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
776         * </p>
777         * <dl>
778         *   <dt><b>Final:</b></dt><dd>No</dd>
779         * </dl>
780         * @return The {@code <ModuleNameOption>} dependency.
781         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
782         */
783        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
784        private org.apache.commons.cli.Option getModuleNameOption()
785        {
786            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ModuleNameOption" );
787            assert _d != null : "'ModuleNameOption' dependency not found.";
788            return _d;
789        }
790        /**
791         * Gets the {@code <NoClasspathResolutionOption>} dependency.
792         * <p>
793         *   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.
794         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
795         * </p>
796         * <dl>
797         *   <dt><b>Final:</b></dt><dd>No</dd>
798         * </dl>
799         * @return The {@code <NoClasspathResolutionOption>} dependency.
800         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
801         */
802        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
803        private org.apache.commons.cli.Option getNoClasspathResolutionOption()
804        {
805            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoClasspathResolutionOption" );
806            assert _d != null : "'NoClasspathResolutionOption' dependency not found.";
807            return _d;
808        }
809        /**
810         * Gets the {@code <NoModelProcessingOption>} dependency.
811         * <p>
812         *   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.
813         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
814         * </p>
815         * <dl>
816         *   <dt><b>Final:</b></dt><dd>No</dd>
817         * </dl>
818         * @return The {@code <NoModelProcessingOption>} dependency.
819         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
820         */
821        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
822        private org.apache.commons.cli.Option getNoModelProcessingOption()
823        {
824            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoModelProcessingOption" );
825            assert _d != null : "'NoModelProcessingOption' dependency not found.";
826            return _d;
827        }
828        /**
829         * Gets the {@code <NoModelResourceValidation>} dependency.
830         * <p>
831         *   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.
832         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
833         * </p>
834         * <dl>
835         *   <dt><b>Final:</b></dt><dd>No</dd>
836         * </dl>
837         * @return The {@code <NoModelResourceValidation>} dependency.
838         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
839         */
840        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
841        private org.apache.commons.cli.Option getNoModelResourceValidation()
842        {
843            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoModelResourceValidation" );
844            assert _d != null : "'NoModelResourceValidation' dependency not found.";
845            return _d;
846        }
847        /**
848         * Gets the {@code <NoModletResourceValidation>} dependency.
849         * <p>
850         *   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.
851         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
852         * </p>
853         * <dl>
854         *   <dt><b>Final:</b></dt><dd>No</dd>
855         * </dl>
856         * @return The {@code <NoModletResourceValidation>} dependency.
857         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
858         */
859        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
860        private org.apache.commons.cli.Option getNoModletResourceValidation()
861        {
862            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "NoModletResourceValidation" );
863            assert _d != null : "'NoModletResourceValidation' dependency not found.";
864            return _d;
865        }
866        /**
867         * Gets the {@code <OutputEncodingOption>} dependency.
868         * <p>
869         *   This method returns the {@code <JOMC CLI Output Encoding Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
870         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
871         * </p>
872         * <dl>
873         *   <dt><b>Final:</b></dt><dd>No</dd>
874         * </dl>
875         * @return The {@code <OutputEncodingOption>} dependency.
876         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
877         */
878        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
879        private org.apache.commons.cli.Option getOutputEncodingOption()
880        {
881            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "OutputEncodingOption" );
882            assert _d != null : "'OutputEncodingOption' dependency not found.";
883            return _d;
884        }
885        /**
886         * Gets the {@code <PlatformProviderLocationOption>} dependency.
887         * <p>
888         *   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.
889         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
890         * </p>
891         * <dl>
892         *   <dt><b>Final:</b></dt><dd>No</dd>
893         * </dl>
894         * @return The {@code <PlatformProviderLocationOption>} dependency.
895         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
896         */
897        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
898        private org.apache.commons.cli.Option getPlatformProviderLocationOption()
899        {
900            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "PlatformProviderLocationOption" );
901            assert _d != null : "'PlatformProviderLocationOption' dependency not found.";
902            return _d;
903        }
904        /**
905         * Gets the {@code <ProviderLocationOption>} dependency.
906         * <p>
907         *   This method returns the {@code <JOMC CLI Provider Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
908         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
909         * </p>
910         * <dl>
911         *   <dt><b>Final:</b></dt><dd>No</dd>
912         * </dl>
913         * @return The {@code <ProviderLocationOption>} dependency.
914         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
915         */
916        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
917        private org.apache.commons.cli.Option getProviderLocationOption()
918        {
919            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "ProviderLocationOption" );
920            assert _d != null : "'ProviderLocationOption' dependency not found.";
921            return _d;
922        }
923        /**
924         * Gets the {@code <SpecificationOption>} dependency.
925         * <p>
926         *   This method returns the {@code <JOMC CLI Specification Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
927         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
928         * </p>
929         * <dl>
930         *   <dt><b>Final:</b></dt><dd>No</dd>
931         * </dl>
932         * @return The {@code <SpecificationOption>} dependency.
933         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
934         */
935        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
936        private org.apache.commons.cli.Option getSpecificationOption()
937        {
938            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "SpecificationOption" );
939            assert _d != null : "'SpecificationOption' dependency not found.";
940            return _d;
941        }
942        /**
943         * Gets the {@code <TemplateEncodingOption>} dependency.
944         * <p>
945         *   This method returns the {@code <JOMC CLI Template Encoding Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
946         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
947         * </p>
948         * <dl>
949         *   <dt><b>Final:</b></dt><dd>No</dd>
950         * </dl>
951         * @return The {@code <TemplateEncodingOption>} dependency.
952         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
953         */
954        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
955        private org.apache.commons.cli.Option getTemplateEncodingOption()
956        {
957            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "TemplateEncodingOption" );
958            assert _d != null : "'TemplateEncodingOption' dependency not found.";
959            return _d;
960        }
961        /**
962         * Gets the {@code <TemplateLocationOption>} dependency.
963         * <p>
964         *   This method returns the {@code <JOMC CLI Template Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
965         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
966         * </p>
967         * <dl>
968         *   <dt><b>Final:</b></dt><dd>No</dd>
969         * </dl>
970         * @return The {@code <TemplateLocationOption>} dependency.
971         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
972         */
973        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
974        private org.apache.commons.cli.Option getTemplateLocationOption()
975        {
976            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "TemplateLocationOption" );
977            assert _d != null : "'TemplateLocationOption' dependency not found.";
978            return _d;
979        }
980        /**
981         * Gets the {@code <TemplateProfileOption>} dependency.
982         * <p>
983         *   This method returns the {@code <JOMC CLI Template Profile Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
984         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
985         * </p>
986         * <dl>
987         *   <dt><b>Final:</b></dt><dd>No</dd>
988         * </dl>
989         * @return The {@code <TemplateProfileOption>} dependency.
990         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
991         */
992        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
993        private org.apache.commons.cli.Option getTemplateProfileOption()
994        {
995            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "TemplateProfileOption" );
996            assert _d != null : "'TemplateProfileOption' dependency not found.";
997            return _d;
998        }
999        /**
1000         * Gets the {@code <TransformerLocationOption>} dependency.
1001         * <p>
1002         *   This method returns the {@code <JOMC CLI Transformer Location Option>} object of the {@code <JOMC CLI Command Option>} specification at specification level 1.2.
1003         *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
1004         * </p>
1005         * <dl>
1006         *   <dt><b>Final:</b></dt><dd>No</dd>
1007         * </dl>
1008         * @return The {@code <TransformerLocationOption>} dependency.
1009         * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
1010         */
1011        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1012        private org.apache.commons.cli.Option getTransformerLocationOption()
1013        {
1014            final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "TransformerLocationOption" );
1015            assert _d != null : "'TransformerLocationOption' dependency not found.";
1016            return _d;
1017        }
1018        // </editor-fold>
1019        // SECTION-END
1020        // SECTION-START[Properties]
1021        // <editor-fold defaultstate="collapsed" desc=" Generated Properties ">
1022        /**
1023         * Gets the value of the {@code <abbreviatedCommandName>} property.
1024         * <p><dl>
1025         *   <dt><b>Final:</b></dt><dd>No</dd>
1026         * </dl></p>
1027         * @return Abbreviated name of the command.
1028         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1029         */
1030        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1031        private java.lang.String getAbbreviatedCommandName()
1032        {
1033            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "abbreviatedCommandName" );
1034            assert _p != null : "'abbreviatedCommandName' property not found.";
1035            return _p;
1036        }
1037        /**
1038         * Gets the value of the {@code <applicationModlet>} property.
1039         * <p><dl>
1040         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1041         * </dl></p>
1042         * @return Name of the 'shaded' application modlet.
1043         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1044         */
1045        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1046        private java.lang.String getApplicationModlet()
1047        {
1048            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "applicationModlet" );
1049            assert _p != null : "'applicationModlet' property not found.";
1050            return _p;
1051        }
1052        /**
1053         * Gets the value of the {@code <commandName>} property.
1054         * <p><dl>
1055         *   <dt><b>Final:</b></dt><dd>No</dd>
1056         * </dl></p>
1057         * @return Name of the command.
1058         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1059         */
1060        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1061        private java.lang.String getCommandName()
1062        {
1063            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "commandName" );
1064            assert _p != null : "'commandName' property not found.";
1065            return _p;
1066        }
1067        /**
1068         * Gets the value of the {@code <modletExcludes>} property.
1069         * <p><dl>
1070         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1071         * </dl></p>
1072         * @return List of modlet names to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
1073         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1074         */
1075        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1076        private java.lang.String getModletExcludes()
1077        {
1078            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "modletExcludes" );
1079            assert _p != null : "'modletExcludes' property not found.";
1080            return _p;
1081        }
1082        /**
1083         * Gets the value of the {@code <providerExcludes>} property.
1084         * <p><dl>
1085         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1086         * </dl></p>
1087         * @return List of providers to exclude from any {@code META-INF/services} files separated by {@code :}.
1088         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1089         */
1090        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1091        private java.lang.String getProviderExcludes()
1092        {
1093            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "providerExcludes" );
1094            assert _p != null : "'providerExcludes' property not found.";
1095            return _p;
1096        }
1097        /**
1098         * Gets the value of the {@code <schemaExcludes>} property.
1099         * <p><dl>
1100         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1101         * </dl></p>
1102         * @return List of schema context-ids to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
1103         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1104         */
1105        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1106        private java.lang.String getSchemaExcludes()
1107        {
1108            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "schemaExcludes" );
1109            assert _p != null : "'schemaExcludes' property not found.";
1110            return _p;
1111        }
1112        /**
1113         * Gets the value of the {@code <serviceExcludes>} property.
1114         * <p><dl>
1115         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1116         * </dl></p>
1117         * @return List of service classes to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
1118         * @throws org.jomc.ObjectManagementException if getting the property instance fails.
1119         */
1120        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1121        private java.lang.String getServiceExcludes()
1122        {
1123            final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "serviceExcludes" );
1124            assert _p != null : "'serviceExcludes' property not found.";
1125            return _p;
1126        }
1127        // </editor-fold>
1128        // SECTION-END
1129        // SECTION-START[Messages]
1130        // <editor-fold defaultstate="collapsed" desc=" Generated Messages ">
1131        /**
1132         * Gets the text of the {@code <applicationTitle>} message.
1133         * <p><dl>
1134         *   <dt><b>Languages:</b></dt>
1135         *     <dd>English (default)</dd>
1136         *   <dt><b>Final:</b></dt><dd>No</dd>
1137         * </dl></p>
1138         * @param locale The locale of the message to return.
1139         * @return The text of the {@code <applicationTitle>} message for {@code locale}.
1140         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1141         */
1142        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1143        private String getApplicationTitle( final java.util.Locale locale )
1144        {
1145            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "applicationTitle", locale );
1146            assert _m != null : "'applicationTitle' message not found.";
1147            return _m;
1148        }
1149        /**
1150         * Gets the text of the {@code <cannotProcessMessage>} message.
1151         * <p><dl>
1152         *   <dt><b>Languages:</b></dt>
1153         *     <dd>English (default)</dd>
1154         *     <dd>Deutsch</dd>
1155         *   <dt><b>Final:</b></dt><dd>No</dd>
1156         * </dl></p>
1157         * @param locale The locale of the message to return.
1158         * @param itemInfo Format argument.
1159         * @param detailMessage Format argument.
1160         * @return The text of the {@code <cannotProcessMessage>} message for {@code locale}.
1161         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1162         */
1163        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1164        private String getCannotProcessMessage( final java.util.Locale locale, final java.lang.String itemInfo, final java.lang.String detailMessage )
1165        {
1166            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "cannotProcessMessage", locale, itemInfo, detailMessage );
1167            assert _m != null : "'cannotProcessMessage' message not found.";
1168            return _m;
1169        }
1170        /**
1171         * Gets the text of the {@code <classpathElementInfo>} message.
1172         * <p><dl>
1173         *   <dt><b>Languages:</b></dt>
1174         *     <dd>English (default)</dd>
1175         *     <dd>Deutsch</dd>
1176         *   <dt><b>Final:</b></dt><dd>No</dd>
1177         * </dl></p>
1178         * @param locale The locale of the message to return.
1179         * @param classpathElement Format argument.
1180         * @return The text of the {@code <classpathElementInfo>} message for {@code locale}.
1181         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1182         */
1183        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1184        private String getClasspathElementInfo( final java.util.Locale locale, final java.lang.String classpathElement )
1185        {
1186            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "classpathElementInfo", locale, classpathElement );
1187            assert _m != null : "'classpathElementInfo' message not found.";
1188            return _m;
1189        }
1190        /**
1191         * Gets the text of the {@code <classpathElementNotFoundWarning>} message.
1192         * <p><dl>
1193         *   <dt><b>Languages:</b></dt>
1194         *     <dd>English (default)</dd>
1195         *     <dd>Deutsch</dd>
1196         *   <dt><b>Final:</b></dt><dd>No</dd>
1197         * </dl></p>
1198         * @param locale The locale of the message to return.
1199         * @param fileName Format argument.
1200         * @return The text of the {@code <classpathElementNotFoundWarning>} message for {@code locale}.
1201         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1202         */
1203        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1204        private String getClasspathElementNotFoundWarning( final java.util.Locale locale, final java.lang.String fileName )
1205        {
1206            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "classpathElementNotFoundWarning", locale, fileName );
1207            assert _m != null : "'classpathElementNotFoundWarning' message not found.";
1208            return _m;
1209        }
1210        /**
1211         * Gets the text of the {@code <commandFailureMessage>} message.
1212         * <p><dl>
1213         *   <dt><b>Languages:</b></dt>
1214         *     <dd>English (default)</dd>
1215         *     <dd>Deutsch</dd>
1216         *   <dt><b>Final:</b></dt><dd>No</dd>
1217         * </dl></p>
1218         * @param locale The locale of the message to return.
1219         * @param toolName Format argument.
1220         * @return The text of the {@code <commandFailureMessage>} message for {@code locale}.
1221         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1222         */
1223        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1224        private String getCommandFailureMessage( final java.util.Locale locale, final java.lang.String toolName )
1225        {
1226            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "commandFailureMessage", locale, toolName );
1227            assert _m != null : "'commandFailureMessage' message not found.";
1228            return _m;
1229        }
1230        /**
1231         * Gets the text of the {@code <commandInfoMessage>} message.
1232         * <p><dl>
1233         *   <dt><b>Languages:</b></dt>
1234         *     <dd>English (default)</dd>
1235         *     <dd>Deutsch</dd>
1236         *   <dt><b>Final:</b></dt><dd>No</dd>
1237         * </dl></p>
1238         * @param locale The locale of the message to return.
1239         * @param toolName Format argument.
1240         * @return The text of the {@code <commandInfoMessage>} message for {@code locale}.
1241         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1242         */
1243        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1244        private String getCommandInfoMessage( final java.util.Locale locale, final java.lang.String toolName )
1245        {
1246            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "commandInfoMessage", locale, toolName );
1247            assert _m != null : "'commandInfoMessage' message not found.";
1248            return _m;
1249        }
1250        /**
1251         * Gets the text of the {@code <commandSuccessMessage>} message.
1252         * <p><dl>
1253         *   <dt><b>Languages:</b></dt>
1254         *     <dd>English (default)</dd>
1255         *     <dd>Deutsch</dd>
1256         *   <dt><b>Final:</b></dt><dd>No</dd>
1257         * </dl></p>
1258         * @param locale The locale of the message to return.
1259         * @param toolName Format argument.
1260         * @return The text of the {@code <commandSuccessMessage>} 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.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1264        private String getCommandSuccessMessage( final java.util.Locale locale, final java.lang.String toolName )
1265        {
1266            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "commandSuccessMessage", locale, toolName );
1267            assert _m != null : "'commandSuccessMessage' message not found.";
1268            return _m;
1269        }
1270        /**
1271         * Gets the text of the {@code <defaultLogLevelInfo>} 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 defaultLogLevel Format argument.
1280         * @return The text of the {@code <defaultLogLevelInfo>} message for {@code locale}.
1281         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1282         */
1283        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1284        private String getDefaultLogLevelInfo( final java.util.Locale locale, final java.lang.String defaultLogLevel )
1285        {
1286            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "defaultLogLevelInfo", locale, defaultLogLevel );
1287            assert _m != null : "'defaultLogLevelInfo' message not found.";
1288            return _m;
1289        }
1290        /**
1291         * Gets the text of the {@code <documentFileInfo>} message.
1292         * <p><dl>
1293         *   <dt><b>Languages:</b></dt>
1294         *     <dd>English (default)</dd>
1295         *     <dd>Deutsch</dd>
1296         *   <dt><b>Final:</b></dt><dd>No</dd>
1297         * </dl></p>
1298         * @param locale The locale of the message to return.
1299         * @param documentFile Format argument.
1300         * @return The text of the {@code <documentFileInfo>} message for {@code locale}.
1301         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1302         */
1303        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1304        private String getDocumentFileInfo( final java.util.Locale locale, final java.lang.String documentFile )
1305        {
1306            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "documentFileInfo", locale, documentFile );
1307            assert _m != null : "'documentFileInfo' message not found.";
1308            return _m;
1309        }
1310        /**
1311         * Gets the text of the {@code <documentFileNotFoundWarning>} message.
1312         * <p><dl>
1313         *   <dt><b>Languages:</b></dt>
1314         *     <dd>English (default)</dd>
1315         *     <dd>Deutsch</dd>
1316         *   <dt><b>Final:</b></dt><dd>No</dd>
1317         * </dl></p>
1318         * @param locale The locale of the message to return.
1319         * @param fileName Format argument.
1320         * @return The text of the {@code <documentFileNotFoundWarning>} message for {@code locale}.
1321         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1322         */
1323        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1324        private String getDocumentFileNotFoundWarning( final java.util.Locale locale, final java.lang.String fileName )
1325        {
1326            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "documentFileNotFoundWarning", locale, fileName );
1327            assert _m != null : "'documentFileNotFoundWarning' message not found.";
1328            return _m;
1329        }
1330        /**
1331         * Gets the text of the {@code <excludedModletInfo>} message.
1332         * <p><dl>
1333         *   <dt><b>Languages:</b></dt>
1334         *     <dd>English (default)</dd>
1335         *     <dd>Deutsch</dd>
1336         *   <dt><b>Final:</b></dt><dd>No</dd>
1337         * </dl></p>
1338         * @param locale The locale of the message to return.
1339         * @param resourceName Format argument.
1340         * @param modletIdentifier Format argument.
1341         * @return The text of the {@code <excludedModletInfo>} 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.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1345        private String getExcludedModletInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String modletIdentifier )
1346        {
1347            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedModletInfo", locale, resourceName, modletIdentifier );
1348            assert _m != null : "'excludedModletInfo' message not found.";
1349            return _m;
1350        }
1351        /**
1352         * Gets the text of the {@code <excludedProviderInfo>} 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 resourceName Format argument.
1361         * @param providerName Format argument.
1362         * @return The text of the {@code <excludedProviderInfo>} message for {@code locale}.
1363         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1364         */
1365        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1366        private String getExcludedProviderInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String providerName )
1367        {
1368            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedProviderInfo", locale, resourceName, providerName );
1369            assert _m != null : "'excludedProviderInfo' message not found.";
1370            return _m;
1371        }
1372        /**
1373         * Gets the text of the {@code <excludedSchemaInfo>} message.
1374         * <p><dl>
1375         *   <dt><b>Languages:</b></dt>
1376         *     <dd>English (default)</dd>
1377         *     <dd>Deutsch</dd>
1378         *   <dt><b>Final:</b></dt><dd>No</dd>
1379         * </dl></p>
1380         * @param locale The locale of the message to return.
1381         * @param resourceName Format argument.
1382         * @param contextId Format argument.
1383         * @return The text of the {@code <excludedSchemaInfo>} message for {@code locale}.
1384         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1385         */
1386        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1387        private String getExcludedSchemaInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String contextId )
1388        {
1389            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedSchemaInfo", locale, resourceName, contextId );
1390            assert _m != null : "'excludedSchemaInfo' message not found.";
1391            return _m;
1392        }
1393        /**
1394         * Gets the text of the {@code <excludedServiceInfo>} message.
1395         * <p><dl>
1396         *   <dt><b>Languages:</b></dt>
1397         *     <dd>English (default)</dd>
1398         *     <dd>Deutsch</dd>
1399         *   <dt><b>Final:</b></dt><dd>No</dd>
1400         * </dl></p>
1401         * @param locale The locale of the message to return.
1402         * @param resourceName Format argument.
1403         * @param serviceName Format argument.
1404         * @return The text of the {@code <excludedServiceInfo>} message for {@code locale}.
1405         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1406         */
1407        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1408        private String getExcludedServiceInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String serviceName )
1409        {
1410            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "excludedServiceInfo", locale, resourceName, serviceName );
1411            assert _m != null : "'excludedServiceInfo' message not found.";
1412            return _m;
1413        }
1414        /**
1415         * Gets the text of the {@code <failedCreatingObjectMessage>} message.
1416         * <p><dl>
1417         *   <dt><b>Languages:</b></dt>
1418         *     <dd>English (default)</dd>
1419         *     <dd>Deutsch</dd>
1420         *   <dt><b>Final:</b></dt><dd>No</dd>
1421         * </dl></p>
1422         * @param locale The locale of the message to return.
1423         * @param objectInfo Format argument.
1424         * @return The text of the {@code <failedCreatingObjectMessage>} message for {@code locale}.
1425         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1426         */
1427        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1428        private String getFailedCreatingObjectMessage( final java.util.Locale locale, final java.lang.String objectInfo )
1429        {
1430            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "failedCreatingObjectMessage", locale, objectInfo );
1431            assert _m != null : "'failedCreatingObjectMessage' message not found.";
1432            return _m;
1433        }
1434        /**
1435         * Gets the text of the {@code <implementationNotFoundWarning>} message.
1436         * <p><dl>
1437         *   <dt><b>Languages:</b></dt>
1438         *     <dd>English (default)</dd>
1439         *     <dd>Deutsch</dd>
1440         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1441         * </dl></p>
1442         * @param locale The locale of the message to return.
1443         * @param implementationIdentifier Format argument.
1444         * @return The text of the {@code <implementationNotFoundWarning>} message for {@code locale}.
1445         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1446         */
1447        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1448        private String getImplementationNotFoundWarning( final java.util.Locale locale, final java.lang.String implementationIdentifier )
1449        {
1450            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "implementationNotFoundWarning", locale, implementationIdentifier );
1451            assert _m != null : "'implementationNotFoundWarning' message not found.";
1452            return _m;
1453        }
1454        /**
1455         * Gets the text of the {@code <invalidModelMessage>} message.
1456         * <p><dl>
1457         *   <dt><b>Languages:</b></dt>
1458         *     <dd>English (default)</dd>
1459         *     <dd>Deutsch</dd>
1460         *   <dt><b>Final:</b></dt><dd>No</dd>
1461         * </dl></p>
1462         * @param locale The locale of the message to return.
1463         * @param modelIdentifier Format argument.
1464         * @return The text of the {@code <invalidModelMessage>} message for {@code locale}.
1465         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1466         */
1467        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1468        private String getInvalidModelMessage( final java.util.Locale locale, final java.lang.String modelIdentifier )
1469        {
1470            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "invalidModelMessage", locale, modelIdentifier );
1471            assert _m != null : "'invalidModelMessage' message not found.";
1472            return _m;
1473        }
1474        /**
1475         * Gets the text of the {@code <longDescriptionMessage>} message.
1476         * <p><dl>
1477         *   <dt><b>Languages:</b></dt>
1478         *     <dd>English (default)</dd>
1479         *   <dt><b>Final:</b></dt><dd>No</dd>
1480         * </dl></p>
1481         * @param locale The locale of the message to return.
1482         * @return The text of the {@code <longDescriptionMessage>} message for {@code locale}.
1483         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1484         */
1485        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1486        private String getLongDescriptionMessage( final java.util.Locale locale )
1487        {
1488            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "longDescriptionMessage", locale );
1489            assert _m != null : "'longDescriptionMessage' message not found.";
1490            return _m;
1491        }
1492        /**
1493         * Gets the text of the {@code <moduleNotFoundWarning>} message.
1494         * <p><dl>
1495         *   <dt><b>Languages:</b></dt>
1496         *     <dd>English (default)</dd>
1497         *     <dd>Deutsch</dd>
1498         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1499         * </dl></p>
1500         * @param locale The locale of the message to return.
1501         * @param moduleName Format argument.
1502         * @return The text of the {@code <moduleNotFoundWarning>} message for {@code locale}.
1503         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1504         */
1505        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1506        private String getModuleNotFoundWarning( final java.util.Locale locale, final java.lang.String moduleName )
1507        {
1508            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "moduleNotFoundWarning", locale, moduleName );
1509            assert _m != null : "'moduleNotFoundWarning' message not found.";
1510            return _m;
1511        }
1512        /**
1513         * Gets the text of the {@code <readingMessage>} message.
1514         * <p><dl>
1515         *   <dt><b>Languages:</b></dt>
1516         *     <dd>English (default)</dd>
1517         *     <dd>Deutsch</dd>
1518         *   <dt><b>Final:</b></dt><dd>No</dd>
1519         * </dl></p>
1520         * @param locale The locale of the message to return.
1521         * @param locationInfo Format argument.
1522         * @return The text of the {@code <readingMessage>} message for {@code locale}.
1523         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1524         */
1525        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1526        private String getReadingMessage( final java.util.Locale locale, final java.lang.String locationInfo )
1527        {
1528            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "readingMessage", locale, locationInfo );
1529            assert _m != null : "'readingMessage' message not found.";
1530            return _m;
1531        }
1532        /**
1533         * Gets the text of the {@code <separator>} message.
1534         * <p><dl>
1535         *   <dt><b>Languages:</b></dt>
1536         *     <dd>English (default)</dd>
1537         *   <dt><b>Final:</b></dt><dd>No</dd>
1538         * </dl></p>
1539         * @param locale The locale of the message to return.
1540         * @return The text of the {@code <separator>} message for {@code locale}.
1541         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1542         */
1543        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1544        private String getSeparator( final java.util.Locale locale )
1545        {
1546            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "separator", locale );
1547            assert _m != null : "'separator' message not found.";
1548            return _m;
1549        }
1550        /**
1551         * Gets the text of the {@code <shortDescriptionMessage>} message.
1552         * <p><dl>
1553         *   <dt><b>Languages:</b></dt>
1554         *     <dd>English (default)</dd>
1555         *   <dt><b>Final:</b></dt><dd>No</dd>
1556         * </dl></p>
1557         * @param locale The locale of the message to return.
1558         * @return The text of the {@code <shortDescriptionMessage>} message for {@code locale}.
1559         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1560         */
1561        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1562        private String getShortDescriptionMessage( final java.util.Locale locale )
1563        {
1564            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "shortDescriptionMessage", locale );
1565            assert _m != null : "'shortDescriptionMessage' message not found.";
1566            return _m;
1567        }
1568        /**
1569         * Gets the text of the {@code <specificationNotFoundWarning>} message.
1570         * <p><dl>
1571         *   <dt><b>Languages:</b></dt>
1572         *     <dd>English (default)</dd>
1573         *     <dd>Deutsch</dd>
1574         *   <dt><b>Final:</b></dt><dd>Yes</dd>
1575         * </dl></p>
1576         * @param locale The locale of the message to return.
1577         * @param specificationIdentifier Format argument.
1578         * @return The text of the {@code <specificationNotFoundWarning>} message for {@code locale}.
1579         * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1580         */
1581        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1582        private String getSpecificationNotFoundWarning( final java.util.Locale locale, final java.lang.String specificationIdentifier )
1583        {
1584            final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "specificationNotFoundWarning", locale, specificationIdentifier );
1585            assert _m != null : "'specificationNotFoundWarning' message not found.";
1586            return _m;
1587        }
1588        // </editor-fold>
1589        // SECTION-END
1590        // SECTION-START[Generated Command]
1591        // <editor-fold defaultstate="collapsed" desc=" Generated Options ">
1592        /**
1593         * Gets the options of the command.
1594         * <p><strong>Options:</strong>
1595         *   <table border="1" width="100%" cellpadding="3" cellspacing="0">
1596         *     <tr class="TableSubHeadingColor">
1597         *       <th align="left" scope="col" nowrap><b>Specification</b></th>
1598         *       <th align="left" scope="col" nowrap><b>Implementation</b></th>
1599         *     </tr>
1600         *     <tr class="TableRow">
1601         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1602         *       <td align="left" valign="top" nowrap>JOMC CLI Classpath Option</td>
1603         *     </tr>
1604         *     <tr class="TableRow">
1605         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1606         *       <td align="left" valign="top" nowrap>JOMC CLI Country Option</td>
1607         *     </tr>
1608         *     <tr class="TableRow">
1609         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1610         *       <td align="left" valign="top" nowrap>JOMC CLI Default Template Profile Option</td>
1611         *     </tr>
1612         *     <tr class="TableRow">
1613         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1614         *       <td align="left" valign="top" nowrap>JOMC CLI Documents Option</td>
1615         *     </tr>
1616         *     <tr class="TableRow">
1617         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1618         *       <td align="left" valign="top" nowrap>JOMC CLI Implementation Option</td>
1619         *     </tr>
1620         *     <tr class="TableRow">
1621         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1622         *       <td align="left" valign="top" nowrap>JOMC CLI Indentation String Option</td>
1623         *     </tr>
1624         *     <tr class="TableRow">
1625         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1626         *       <td align="left" valign="top" nowrap>JOMC CLI Input Encoding Option</td>
1627         *     </tr>
1628         *     <tr class="TableRow">
1629         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1630         *       <td align="left" valign="top" nowrap>JOMC CLI Language Option</td>
1631         *     </tr>
1632         *     <tr class="TableRow">
1633         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1634         *       <td align="left" valign="top" nowrap>JOMC CLI Line Separator Option</td>
1635         *     </tr>
1636         *     <tr class="TableRow">
1637         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1638         *       <td align="left" valign="top" nowrap>JOMC CLI Locale Variant Option</td>
1639         *     </tr>
1640         *     <tr class="TableRow">
1641         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1642         *       <td align="left" valign="top" nowrap>JOMC CLI ModelContextFactory Class Name Option</td>
1643         *     </tr>
1644         *     <tr class="TableRow">
1645         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1646         *       <td align="left" valign="top" nowrap>JOMC CLI Model Option</td>
1647         *     </tr>
1648         *     <tr class="TableRow">
1649         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1650         *       <td align="left" valign="top" nowrap>JOMC CLI Modlet Location Option</td>
1651         *     </tr>
1652         *     <tr class="TableRow">
1653         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1654         *       <td align="left" valign="top" nowrap>JOMC CLI Modlet Schema System Id Option</td>
1655         *     </tr>
1656         *     <tr class="TableRow">
1657         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1658         *       <td align="left" valign="top" nowrap>JOMC CLI Module Location Option</td>
1659         *     </tr>
1660         *     <tr class="TableRow">
1661         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1662         *       <td align="left" valign="top" nowrap>JOMC CLI Module Name Option</td>
1663         *     </tr>
1664         *     <tr class="TableRow">
1665         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1666         *       <td align="left" valign="top" nowrap>JOMC CLI No Classpath Resolution Option</td>
1667         *     </tr>
1668         *     <tr class="TableRow">
1669         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1670         *       <td align="left" valign="top" nowrap>JOMC CLI No Model Processing Option</td>
1671         *     </tr>
1672         *     <tr class="TableRow">
1673         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1674         *       <td align="left" valign="top" nowrap>JOMC CLI No Model Resource Validation Option</td>
1675         *     </tr>
1676         *     <tr class="TableRow">
1677         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1678         *       <td align="left" valign="top" nowrap>JOMC CLI No Modlet Resource Validation Option</td>
1679         *     </tr>
1680         *     <tr class="TableRow">
1681         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1682         *       <td align="left" valign="top" nowrap>JOMC CLI Output Encoding Option</td>
1683         *     </tr>
1684         *     <tr class="TableRow">
1685         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1686         *       <td align="left" valign="top" nowrap>JOMC CLI Platform Provider Location Option</td>
1687         *     </tr>
1688         *     <tr class="TableRow">
1689         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1690         *       <td align="left" valign="top" nowrap>JOMC CLI Provider Location Option</td>
1691         *     </tr>
1692         *     <tr class="TableRow">
1693         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1694         *       <td align="left" valign="top" nowrap>JOMC CLI Specification Option</td>
1695         *     </tr>
1696         *     <tr class="TableRow">
1697         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1698         *       <td align="left" valign="top" nowrap>JOMC CLI Template Encoding Option</td>
1699         *     </tr>
1700         *     <tr class="TableRow">
1701         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1702         *       <td align="left" valign="top" nowrap>JOMC CLI Template Location Option</td>
1703         *     </tr>
1704         *     <tr class="TableRow">
1705         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1706         *       <td align="left" valign="top" nowrap>JOMC CLI Template Profile Option</td>
1707         *     </tr>
1708         *     <tr class="TableRow">
1709         *       <td align="left" valign="top" nowrap>JOMC CLI Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1710         *       <td align="left" valign="top" nowrap>JOMC CLI Transformer Location Option</td>
1711         *     </tr>
1712         *   </table>
1713         * </p>
1714         * @return The options of the command.
1715         */
1716        @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.2.3", comments = "See http://jomc.sourceforge.net/jomc/1.2/jomc-tools-1.2.3" )
1717        @Override
1718        public org.apache.commons.cli.Options getOptions()
1719        {
1720            final org.apache.commons.cli.Options options = new org.apache.commons.cli.Options();
1721            options.addOption( this.getClasspathOption() );
1722            options.addOption( this.getCountryOption() );
1723            options.addOption( this.getDefaultTemplateProfileOption() );
1724            options.addOption( this.getDocumentsOption() );
1725            options.addOption( this.getImplementationOption() );
1726            options.addOption( this.getIndentationStringOption() );
1727            options.addOption( this.getInputEncodingOption() );
1728            options.addOption( this.getLanguageOption() );
1729            options.addOption( this.getLineSeparatorOption() );
1730            options.addOption( this.getLocaleVariantOption() );
1731            options.addOption( this.getModelContextFactoryOption() );
1732            options.addOption( this.getModelOption() );
1733            options.addOption( this.getModletLocationOption() );
1734            options.addOption( this.getModletSchemaSystemIdOption() );
1735            options.addOption( this.getModuleLocationOption() );
1736            options.addOption( this.getModuleNameOption() );
1737            options.addOption( this.getNoClasspathResolutionOption() );
1738            options.addOption( this.getNoModelProcessingOption() );
1739            options.addOption( this.getNoModelResourceValidation() );
1740            options.addOption( this.getNoModletResourceValidation() );
1741            options.addOption( this.getOutputEncodingOption() );
1742            options.addOption( this.getPlatformProviderLocationOption() );
1743            options.addOption( this.getProviderLocationOption() );
1744            options.addOption( this.getSpecificationOption() );
1745            options.addOption( this.getTemplateEncodingOption() );
1746            options.addOption( this.getTemplateLocationOption() );
1747            options.addOption( this.getTemplateProfileOption() );
1748            options.addOption( this.getTransformerLocationOption() );
1749            return options;
1750        }
1751        // </editor-fold>
1752        // SECTION-END
1753    }