View Javadoc
1   // SECTION-START[License Header]
2   // <editor-fold defaultstate="collapsed" desc=" Generated License ">
3   /*
4    * Java Object Management and Configuration
5    * Copyright (C) Christian Schulte <cs@schulte.it>, 2005-206
6    * All rights reserved.
7    *
8    * Redistribution and use in source and binary forms, with or without
9    * modification, are permitted provided that the following conditions
10   * are met:
11   *
12   *   o Redistributions of source code must retain the above copyright
13   *     notice, this list of conditions and the following disclaimer.
14   *
15   *   o Redistributions in binary form must reproduce the above copyright
16   *     notice, this list of conditions and the following disclaimer in
17   *     the documentation and/or other materials provided with the
18   *     distribution.
19   *
20   * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
21   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
22   * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23   * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
24   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26   * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30   *
31   * $JOMC: AbstractModelCommand.java 5061 2015-05-31 13:20:40Z schulte $
32   *
33   */
34  // </editor-fold>
35  // SECTION-END
36  package org.jomc.cli.commands;
37  
38  import java.io.File;
39  import java.util.logging.Level;
40  import javax.xml.bind.JAXBElement;
41  import javax.xml.bind.JAXBException;
42  import javax.xml.bind.Unmarshaller;
43  import org.apache.commons.cli.CommandLine;
44  import org.jomc.model.Module;
45  import org.jomc.model.Modules;
46  import org.jomc.model.modlet.DefaultModelProcessor;
47  import org.jomc.model.modlet.DefaultModelProvider;
48  import org.jomc.model.modlet.DefaultModelValidator;
49  import org.jomc.model.modlet.ModelHelper;
50  import org.jomc.modlet.Model;
51  import org.jomc.modlet.ModelContext;
52  import org.jomc.modlet.ModelException;
53  import org.jomc.tools.modlet.ToolsModelProcessor;
54  import org.jomc.tools.modlet.ToolsModelProvider;
55  
56  // SECTION-START[Documentation]
57  // <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
58  /**
59   * JOMC ⁑ CLI ⁑ model based command implementation.
60   *
61   * <dl>
62   *   <dt><b>Identifier:</b></dt><dd>JOMC ⁑ CLI ⁑ Model Command</dd>
63   *   <dt><b>Name:</b></dt><dd>JOMC ⁑ CLI ⁑ Model Command</dd>
64   *   <dt><b>Specifications:</b></dt>
65   *     <dd>JOMC ⁑ CLI ⁑ Command @ 1.0</dd>
66   *   <dt><b>Abstract:</b></dt><dd>Yes</dd>
67   *   <dt><b>Final:</b></dt><dd>No</dd>
68   *   <dt><b>Stateless:</b></dt><dd>No</dd>
69   * </dl>
70   *
71   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 1.0
72   * @version 1.9
73   */
74  // </editor-fold>
75  // SECTION-END
76  // SECTION-START[Annotations]
77  // <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
78  @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
79  // </editor-fold>
80  // SECTION-END
81  public abstract class AbstractModelCommand extends AbstractModletCommand
82  {
83      // SECTION-START[Command]
84      // SECTION-END
85      // SECTION-START[AbstractModelCommand]
86  
87      /**
88       * {@inheritDoc}
89       */
90      @Override
91      protected ModelContext createModelContext( final CommandLine commandLine, final ClassLoader classLoader )
92          throws CommandExecutionException
93      {
94          if ( commandLine == null )
95          {
96              throw new NullPointerException( "commandLine" );
97          }
98  
99          final ModelContext modelContext = super.createModelContext( commandLine, classLoader );
100 
101         if ( commandLine.hasOption( this.getTransformerLocationOption().getOpt() ) )
102         {
103             modelContext.setAttribute( DefaultModelProcessor.TRANSFORMER_LOCATION_ATTRIBUTE_NAME,
104                                        commandLine.getOptionValue( this.getTransformerLocationOption().getOpt() ) );
105 
106         }
107 
108         if ( commandLine.hasOption( this.getModuleLocationOption().getOpt() ) )
109         {
110             modelContext.setAttribute( DefaultModelProvider.MODULE_LOCATION_ATTRIBUTE_NAME,
111                                        commandLine.getOptionValue( this.getModuleLocationOption().getOpt() ) );
112 
113         }
114 
115         modelContext.setAttribute( ToolsModelProvider.MODEL_OBJECT_CLASSPATH_RESOLUTION_ENABLED_ATTRIBUTE_NAME,
116                                    !commandLine.hasOption( this.getNoClasspathResolutionOption().getOpt() ) );
117 
118         modelContext.setAttribute( ToolsModelProcessor.MODEL_OBJECT_CLASSPATH_RESOLUTION_ENABLED_ATTRIBUTE_NAME,
119                                    !commandLine.hasOption( this.getNoClasspathResolutionOption().getOpt() ) );
120 
121         modelContext.setAttribute( DefaultModelProvider.VALIDATING_ATTRIBUTE_NAME,
122                                    !commandLine.hasOption( this.getNoModelResourceValidation().getOpt() ) );
123 
124         modelContext.setAttribute( DefaultModelValidator.VALIDATE_JAVA_ATTRIBUTE_NAME,
125                                    !commandLine.hasOption( this.getNoJavaValidationOption().getOpt() ) );
126 
127         return modelContext;
128     }
129 
130     /**
131      * Gets the model as specified by a given command line.
132      *
133      * @param context The context to use for getting the model.
134      * @param commandLine The command line specifying the model to get.
135      *
136      * @return The model as specified by {@code commandLine}.
137      *
138      * @throws CommandExecutionException if getting the model fails.
139      */
140     protected Model getModel( final ModelContext context, final CommandLine commandLine )
141         throws CommandExecutionException
142     {
143         try
144         {
145             Model model = new Model();
146             model.setIdentifier( this.getModel( commandLine ) );
147             Modules modules = new Modules();
148             ModelHelper.setModules( model, modules );
149 
150             if ( commandLine.hasOption( this.getDocumentsOption().getOpt() ) )
151             {
152                 final Unmarshaller u = context.createUnmarshaller( model.getIdentifier() );
153 
154                 if ( !commandLine.hasOption( this.getNoModelResourceValidation().getOpt() ) )
155                 {
156                     u.setSchema( context.createSchema( model.getIdentifier() ) );
157                 }
158 
159                 for ( final File f : this.getDocumentFiles( commandLine ) )
160                 {
161                     if ( this.isLoggable( Level.FINEST ) )
162                     {
163                         this.log( Level.FINEST, this.getReadingMessage( this.getLocale(), f.getAbsolutePath() ), null );
164                     }
165 
166                     Object o = u.unmarshal( f );
167                     if ( o instanceof JAXBElement<?> )
168                     {
169                         o = ( (JAXBElement<?>) o ).getValue();
170                     }
171 
172                     if ( o instanceof Module )
173                     {
174                         modules.getModule().add( (Module) o );
175                     }
176                     else if ( o instanceof Modules )
177                     {
178                         modules.getModule().addAll( ( (Modules) o ).getModule() );
179                     }
180                     else if ( this.isLoggable( Level.WARNING ) )
181                     {
182                         this.log( Level.WARNING, this.getCannotProcessMessage(
183                                   this.getLocale(), f.getAbsolutePath(), o.toString() ), null );
184 
185                     }
186                 }
187             }
188 
189             if ( commandLine.hasOption( this.getClasspathOption().getOpt() ) )
190             {
191                 model = context.findModel( model );
192                 modules = ModelHelper.getModules( model );
193             }
194 
195             if ( modules != null && !commandLine.hasOption( this.getNoClasspathResolutionOption().getOpt() ) )
196             {
197                 final Module classpathModule = modules.getClasspathModule(
198                     Modules.getDefaultClasspathModuleName(), context.getClassLoader() );
199 
200                 if ( classpathModule != null && modules.getModule( classpathModule.getName() ) == null )
201                 {
202                     modules.getModule().add( classpathModule );
203                 }
204             }
205 
206             if ( !commandLine.hasOption( this.getNoModelProcessingOption().getOpt() ) )
207             {
208                 model = context.processModel( model );
209                 modules = ModelHelper.getModules( model );
210             }
211 
212             assert modules != null : "Modules '" + this.getModel( commandLine ) + "' not found.";
213             return model;
214         }
215         catch ( final ModelException e )
216         {
217             throw new CommandExecutionException( getExceptionMessage( e ), e );
218         }
219         catch ( final JAXBException e )
220         {
221             String message = getExceptionMessage( e );
222             if ( message == null )
223             {
224                 message = getExceptionMessage( e.getLinkedException() );
225             }
226 
227             throw new CommandExecutionException( message, e );
228         }
229     }
230 
231     // SECTION-END
232     // SECTION-START[Constructors]
233     // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
234     /** Creates a new {@code AbstractModelCommand} instance. */
235     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
236     public AbstractModelCommand()
237     {
238         // SECTION-START[Default Constructor]
239         super();
240         // SECTION-END
241     }
242     // </editor-fold>
243     // SECTION-END
244     // SECTION-START[Dependencies]
245     // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies ">
246     /**
247      * Gets the {@code <Classpath Option>} dependency.
248      * <p>
249      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Classpath Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
250      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
251      * </p>
252      * <dl>
253      *   <dt><b>Final:</b></dt><dd>No</dd>
254      * </dl>
255      * @return The {@code <Classpath Option>} dependency.
256      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
257      */
258     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
259     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
260     private org.apache.commons.cli.Option getClasspathOption()
261     {
262         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Classpath Option" );
263         assert _d != null : "'Classpath Option' dependency not found.";
264         return _d;
265     }
266     /**
267      * Gets the {@code <Documents Option>} dependency.
268      * <p>
269      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Documents Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
270      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
271      * </p>
272      * <dl>
273      *   <dt><b>Final:</b></dt><dd>No</dd>
274      * </dl>
275      * @return The {@code <Documents Option>} dependency.
276      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
277      */
278     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
279     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
280     private org.apache.commons.cli.Option getDocumentsOption()
281     {
282         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Documents Option" );
283         assert _d != null : "'Documents Option' dependency not found.";
284         return _d;
285     }
286     /**
287      * Gets the {@code <Locale>} dependency.
288      * <p>
289      *   This method returns the {@code <default>} object of the {@code <java.util.Locale>} specification at specification level 1.1.
290      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
291      * </p>
292      * <dl>
293      *   <dt><b>Final:</b></dt><dd>No</dd>
294      * </dl>
295      * @return The {@code <Locale>} dependency.
296      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
297      */
298     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
299     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
300     private java.util.Locale getLocale()
301     {
302         final java.util.Locale _d = (java.util.Locale) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Locale" );
303         assert _d != null : "'Locale' dependency not found.";
304         return _d;
305     }
306     /**
307      * Gets the {@code <Model Context Factory Option>} dependency.
308      * <p>
309      *   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.
310      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
311      * </p>
312      * <dl>
313      *   <dt><b>Final:</b></dt><dd>No</dd>
314      * </dl>
315      * @return The {@code <Model Context Factory Option>} dependency.
316      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
317      */
318     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
319     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
320     private org.apache.commons.cli.Option getModelContextFactoryOption()
321     {
322         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Model Context Factory Option" );
323         assert _d != null : "'Model Context Factory Option' dependency not found.";
324         return _d;
325     }
326     /**
327      * Gets the {@code <Model Option>} dependency.
328      * <p>
329      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Model Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
330      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
331      * </p>
332      * <dl>
333      *   <dt><b>Final:</b></dt><dd>No</dd>
334      * </dl>
335      * @return The {@code <Model Option>} dependency.
336      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
337      */
338     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
339     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
340     private org.apache.commons.cli.Option getModelOption()
341     {
342         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Model Option" );
343         assert _d != null : "'Model Option' dependency not found.";
344         return _d;
345     }
346     /**
347      * Gets the {@code <Modlet Location Option>} dependency.
348      * <p>
349      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Modlet Location Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
350      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
351      * </p>
352      * <dl>
353      *   <dt><b>Final:</b></dt><dd>No</dd>
354      * </dl>
355      * @return The {@code <Modlet Location Option>} dependency.
356      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
357      */
358     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
359     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
360     private org.apache.commons.cli.Option getModletLocationOption()
361     {
362         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Modlet Location Option" );
363         assert _d != null : "'Modlet Location Option' dependency not found.";
364         return _d;
365     }
366     /**
367      * Gets the {@code <Modlet Schema System Id Option>} dependency.
368      * <p>
369      *   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.
370      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
371      * </p>
372      * <dl>
373      *   <dt><b>Final:</b></dt><dd>No</dd>
374      * </dl>
375      * @return The {@code <Modlet Schema System Id Option>} dependency.
376      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
377      */
378     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
379     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
380     private org.apache.commons.cli.Option getModletSchemaSystemIdOption()
381     {
382         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Modlet Schema System Id Option" );
383         assert _d != null : "'Modlet Schema System Id Option' dependency not found.";
384         return _d;
385     }
386     /**
387      * Gets the {@code <Module Location Option>} dependency.
388      * <p>
389      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Module Location Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
390      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
391      * </p>
392      * <dl>
393      *   <dt><b>Final:</b></dt><dd>No</dd>
394      * </dl>
395      * @return The {@code <Module Location Option>} dependency.
396      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
397      */
398     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
399     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
400     private org.apache.commons.cli.Option getModuleLocationOption()
401     {
402         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Module Location Option" );
403         assert _d != null : "'Module Location Option' dependency not found.";
404         return _d;
405     }
406     /**
407      * Gets the {@code <No Classpath Resolution Option>} dependency.
408      * <p>
409      *   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.
410      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
411      * </p>
412      * <dl>
413      *   <dt><b>Final:</b></dt><dd>No</dd>
414      * </dl>
415      * @return The {@code <No Classpath Resolution Option>} dependency.
416      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
417      */
418     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
419     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
420     private org.apache.commons.cli.Option getNoClasspathResolutionOption()
421     {
422         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "No Classpath Resolution Option" );
423         assert _d != null : "'No Classpath Resolution Option' dependency not found.";
424         return _d;
425     }
426     /**
427      * Gets the {@code <No Java Validation Option>} dependency.
428      * <p>
429      *   This method returns the {@code <JOMC ⁑ CLI ⁑ No Java Validation Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
430      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
431      * </p>
432      * <dl>
433      *   <dt><b>Final:</b></dt><dd>No</dd>
434      * </dl>
435      * @return The {@code <No Java Validation Option>} dependency.
436      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
437      */
438     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
439     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
440     private org.apache.commons.cli.Option getNoJavaValidationOption()
441     {
442         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "No Java Validation Option" );
443         assert _d != null : "'No Java Validation Option' dependency not found.";
444         return _d;
445     }
446     /**
447      * Gets the {@code <No Model Processing Option>} dependency.
448      * <p>
449      *   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.
450      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
451      * </p>
452      * <dl>
453      *   <dt><b>Final:</b></dt><dd>No</dd>
454      * </dl>
455      * @return The {@code <No Model Processing Option>} dependency.
456      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
457      */
458     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
459     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
460     private org.apache.commons.cli.Option getNoModelProcessingOption()
461     {
462         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "No Model Processing Option" );
463         assert _d != null : "'No Model Processing Option' dependency not found.";
464         return _d;
465     }
466     /**
467      * Gets the {@code <No Model Resource Validation>} dependency.
468      * <p>
469      *   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.
470      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
471      * </p>
472      * <dl>
473      *   <dt><b>Final:</b></dt><dd>No</dd>
474      * </dl>
475      * @return The {@code <No Model Resource Validation>} dependency.
476      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
477      */
478     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
479     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
480     private org.apache.commons.cli.Option getNoModelResourceValidation()
481     {
482         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "No Model Resource Validation" );
483         assert _d != null : "'No Model Resource Validation' dependency not found.";
484         return _d;
485     }
486     /**
487      * Gets the {@code <No Modlet Resource Validation>} dependency.
488      * <p>
489      *   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.
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 <No Modlet Resource Validation>} dependency.
496      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
497      */
498     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
499     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
500     private org.apache.commons.cli.Option getNoModletResourceValidation()
501     {
502         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "No Modlet Resource Validation" );
503         assert _d != null : "'No Modlet Resource Validation' dependency not found.";
504         return _d;
505     }
506     /**
507      * Gets the {@code <Platform Provider Location Option>} dependency.
508      * <p>
509      *   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.
510      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
511      * </p>
512      * <dl>
513      *   <dt><b>Final:</b></dt><dd>No</dd>
514      * </dl>
515      * @return The {@code <Platform Provider Location Option>} dependency.
516      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
517      */
518     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
519     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
520     private org.apache.commons.cli.Option getPlatformProviderLocationOption()
521     {
522         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Platform Provider Location Option" );
523         assert _d != null : "'Platform Provider Location Option' dependency not found.";
524         return _d;
525     }
526     /**
527      * Gets the {@code <Provider Location Option>} dependency.
528      * <p>
529      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Provider Location Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
530      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
531      * </p>
532      * <dl>
533      *   <dt><b>Final:</b></dt><dd>No</dd>
534      * </dl>
535      * @return The {@code <Provider Location Option>} dependency.
536      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
537      */
538     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
539     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
540     private org.apache.commons.cli.Option getProviderLocationOption()
541     {
542         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Provider Location Option" );
543         assert _d != null : "'Provider Location Option' dependency not found.";
544         return _d;
545     }
546     /**
547      * Gets the {@code <Transformer Location Option>} dependency.
548      * <p>
549      *   This method returns the {@code <JOMC ⁑ CLI ⁑ Transformer Location Option>} object of the {@code <JOMC ⁑ CLI ⁑ Command Option>} specification at specification level 1.2.
550      *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
551      * </p>
552      * <dl>
553      *   <dt><b>Final:</b></dt><dd>No</dd>
554      * </dl>
555      * @return The {@code <Transformer Location Option>} dependency.
556      * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
557      */
558     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
559     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
560     private org.apache.commons.cli.Option getTransformerLocationOption()
561     {
562         final org.apache.commons.cli.Option _d = (org.apache.commons.cli.Option) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Transformer Location Option" );
563         assert _d != null : "'Transformer Location Option' dependency not found.";
564         return _d;
565     }
566     // </editor-fold>
567     // SECTION-END
568     // SECTION-START[Properties]
569     // <editor-fold defaultstate="collapsed" desc=" Generated Properties ">
570     /**
571      * Gets the value of the {@code <Abbreviated Command Name>} property.
572      * <p><dl>
573      *   <dt><b>Final:</b></dt><dd>No</dd>
574      * </dl></p>
575      * @return Abbreviated name of the command.
576      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
577      */
578     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
579     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
580     private java.lang.String getAbbreviatedCommandName()
581     {
582         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Abbreviated Command Name" );
583         assert _p != null : "'Abbreviated Command Name' property not found.";
584         return _p;
585     }
586     /**
587      * Gets the value of the {@code <Application Modlet>} property.
588      * <p><dl>
589      *   <dt><b>Final:</b></dt><dd>Yes</dd>
590      * </dl></p>
591      * @return Name of the 'shaded' application modlet.
592      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
593      */
594     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
595     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
596     private java.lang.String getApplicationModlet()
597     {
598         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Application Modlet" );
599         assert _p != null : "'Application Modlet' property not found.";
600         return _p;
601     }
602     /**
603      * Gets the value of the {@code <Command Name>} property.
604      * <p><dl>
605      *   <dt><b>Final:</b></dt><dd>No</dd>
606      * </dl></p>
607      * @return Name of the command.
608      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
609      */
610     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
611     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
612     private java.lang.String getCommandName()
613     {
614         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Command Name" );
615         assert _p != null : "'Command Name' property not found.";
616         return _p;
617     }
618     /**
619      * Gets the value of the {@code <Modlet Excludes>} property.
620      * <p><dl>
621      *   <dt><b>Final:</b></dt><dd>Yes</dd>
622      * </dl></p>
623      * @return List of modlet names to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
624      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
625      */
626     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
627     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
628     private java.lang.String getModletExcludes()
629     {
630         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Modlet Excludes" );
631         assert _p != null : "'Modlet Excludes' property not found.";
632         return _p;
633     }
634     /**
635      * Gets the value of the {@code <Provider Excludes>} property.
636      * <p><dl>
637      *   <dt><b>Final:</b></dt><dd>Yes</dd>
638      * </dl></p>
639      * @return List of providers to exclude from any {@code META-INF/services} files separated by {@code :}.
640      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
641      */
642     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
643     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
644     private java.lang.String getProviderExcludes()
645     {
646         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Provider Excludes" );
647         assert _p != null : "'Provider Excludes' property not found.";
648         return _p;
649     }
650     /**
651      * Gets the value of the {@code <Schema Excludes>} property.
652      * <p><dl>
653      *   <dt><b>Final:</b></dt><dd>Yes</dd>
654      * </dl></p>
655      * @return List of schema context-ids to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
656      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
657      */
658     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
659     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
660     private java.lang.String getSchemaExcludes()
661     {
662         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Schema Excludes" );
663         assert _p != null : "'Schema Excludes' property not found.";
664         return _p;
665     }
666     /**
667      * Gets the value of the {@code <Service Excludes>} property.
668      * <p><dl>
669      *   <dt><b>Final:</b></dt><dd>Yes</dd>
670      * </dl></p>
671      * @return List of service classes to exclude from any {@code META-INF/jomc-modlet.xml} files separated by {@code :}.
672      * @throws org.jomc.ObjectManagementException if getting the property instance fails.
673      */
674     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
675     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
676     private java.lang.String getServiceExcludes()
677     {
678         final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "Service Excludes" );
679         assert _p != null : "'Service Excludes' property not found.";
680         return _p;
681     }
682     // </editor-fold>
683     // SECTION-END
684     // SECTION-START[Messages]
685     // <editor-fold defaultstate="collapsed" desc=" Generated Messages ">
686     /**
687      * Gets the text of the {@code <Application Title>} message.
688      * <p><dl>
689      *   <dt><b>Languages:</b></dt>
690      *     <dd>English (default)</dd>
691      *   <dt><b>Final:</b></dt><dd>No</dd>
692      * </dl></p>
693      * @param locale The locale of the message to return.
694      * @return The text of the {@code <Application Title>} message for {@code locale}.
695      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
696      */
697     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
698     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
699     private String getApplicationTitle( final java.util.Locale locale )
700     {
701         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Application Title", locale );
702         assert _m != null : "'Application Title' message not found.";
703         return _m;
704     }
705     /**
706      * Gets the text of the {@code <Cannot Process Message>} message.
707      * <p><dl>
708      *   <dt><b>Languages:</b></dt>
709      *     <dd>English (default)</dd>
710      *     <dd>Deutsch</dd>
711      *   <dt><b>Final:</b></dt><dd>No</dd>
712      * </dl></p>
713      * @param locale The locale of the message to return.
714      * @param itemInfo Format argument.
715      * @param detailMessage Format argument.
716      * @return The text of the {@code <Cannot Process Message>} message for {@code locale}.
717      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
718      */
719     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
720     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
721     private String getCannotProcessMessage( final java.util.Locale locale, final java.lang.String itemInfo, final java.lang.String detailMessage )
722     {
723         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Cannot Process Message", locale, itemInfo, detailMessage );
724         assert _m != null : "'Cannot Process Message' message not found.";
725         return _m;
726     }
727     /**
728      * Gets the text of the {@code <Classpath Element Info>} message.
729      * <p><dl>
730      *   <dt><b>Languages:</b></dt>
731      *     <dd>English (default)</dd>
732      *     <dd>Deutsch</dd>
733      *   <dt><b>Final:</b></dt><dd>No</dd>
734      * </dl></p>
735      * @param locale The locale of the message to return.
736      * @param classpathElement Format argument.
737      * @return The text of the {@code <Classpath Element Info>} message for {@code locale}.
738      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
739      */
740     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
741     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
742     private String getClasspathElementInfo( final java.util.Locale locale, final java.lang.String classpathElement )
743     {
744         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Classpath Element Info", locale, classpathElement );
745         assert _m != null : "'Classpath Element Info' message not found.";
746         return _m;
747     }
748     /**
749      * Gets the text of the {@code <Classpath Element Not Found Warning>} message.
750      * <p><dl>
751      *   <dt><b>Languages:</b></dt>
752      *     <dd>English (default)</dd>
753      *     <dd>Deutsch</dd>
754      *   <dt><b>Final:</b></dt><dd>No</dd>
755      * </dl></p>
756      * @param locale The locale of the message to return.
757      * @param fileName Format argument.
758      * @return The text of the {@code <Classpath Element Not Found Warning>} message for {@code locale}.
759      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
760      */
761     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
762     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
763     private String getClasspathElementNotFoundWarning( final java.util.Locale locale, final java.lang.String fileName )
764     {
765         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Classpath Element Not Found Warning", locale, fileName );
766         assert _m != null : "'Classpath Element Not Found Warning' message not found.";
767         return _m;
768     }
769     /**
770      * Gets the text of the {@code <Command Failure Message>} message.
771      * <p><dl>
772      *   <dt><b>Languages:</b></dt>
773      *     <dd>English (default)</dd>
774      *     <dd>Deutsch</dd>
775      *   <dt><b>Final:</b></dt><dd>No</dd>
776      * </dl></p>
777      * @param locale The locale of the message to return.
778      * @param toolName Format argument.
779      * @return The text of the {@code <Command Failure Message>} message for {@code locale}.
780      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
781      */
782     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
783     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
784     private String getCommandFailureMessage( final java.util.Locale locale, final java.lang.String toolName )
785     {
786         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Command Failure Message", locale, toolName );
787         assert _m != null : "'Command Failure Message' message not found.";
788         return _m;
789     }
790     /**
791      * Gets the text of the {@code <Command Info Message>} message.
792      * <p><dl>
793      *   <dt><b>Languages:</b></dt>
794      *     <dd>English (default)</dd>
795      *     <dd>Deutsch</dd>
796      *   <dt><b>Final:</b></dt><dd>No</dd>
797      * </dl></p>
798      * @param locale The locale of the message to return.
799      * @param toolName Format argument.
800      * @return The text of the {@code <Command Info Message>} message for {@code locale}.
801      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
802      */
803     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
804     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
805     private String getCommandInfoMessage( final java.util.Locale locale, final java.lang.String toolName )
806     {
807         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Command Info Message", locale, toolName );
808         assert _m != null : "'Command Info Message' message not found.";
809         return _m;
810     }
811     /**
812      * Gets the text of the {@code <Command Success Message>} message.
813      * <p><dl>
814      *   <dt><b>Languages:</b></dt>
815      *     <dd>English (default)</dd>
816      *     <dd>Deutsch</dd>
817      *   <dt><b>Final:</b></dt><dd>No</dd>
818      * </dl></p>
819      * @param locale The locale of the message to return.
820      * @param toolName Format argument.
821      * @return The text of the {@code <Command Success Message>} message for {@code locale}.
822      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
823      */
824     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
825     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
826     private String getCommandSuccessMessage( final java.util.Locale locale, final java.lang.String toolName )
827     {
828         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Command Success Message", locale, toolName );
829         assert _m != null : "'Command Success Message' message not found.";
830         return _m;
831     }
832     /**
833      * Gets the text of the {@code <Default Log Level Info>} message.
834      * <p><dl>
835      *   <dt><b>Languages:</b></dt>
836      *     <dd>English (default)</dd>
837      *     <dd>Deutsch</dd>
838      *   <dt><b>Final:</b></dt><dd>No</dd>
839      * </dl></p>
840      * @param locale The locale of the message to return.
841      * @param defaultLogLevel Format argument.
842      * @return The text of the {@code <Default Log Level Info>} message for {@code locale}.
843      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
844      */
845     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
846     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
847     private String getDefaultLogLevelInfo( final java.util.Locale locale, final java.lang.String defaultLogLevel )
848     {
849         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Default Log Level Info", locale, defaultLogLevel );
850         assert _m != null : "'Default Log Level Info' message not found.";
851         return _m;
852     }
853     /**
854      * Gets the text of the {@code <Document File Info>} message.
855      * <p><dl>
856      *   <dt><b>Languages:</b></dt>
857      *     <dd>English (default)</dd>
858      *     <dd>Deutsch</dd>
859      *   <dt><b>Final:</b></dt><dd>No</dd>
860      * </dl></p>
861      * @param locale The locale of the message to return.
862      * @param documentFile Format argument.
863      * @return The text of the {@code <Document File Info>} message for {@code locale}.
864      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
865      */
866     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
867     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
868     private String getDocumentFileInfo( final java.util.Locale locale, final java.lang.String documentFile )
869     {
870         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Document File Info", locale, documentFile );
871         assert _m != null : "'Document File Info' message not found.";
872         return _m;
873     }
874     /**
875      * Gets the text of the {@code <Document File Not Found Warning>} message.
876      * <p><dl>
877      *   <dt><b>Languages:</b></dt>
878      *     <dd>English (default)</dd>
879      *     <dd>Deutsch</dd>
880      *   <dt><b>Final:</b></dt><dd>No</dd>
881      * </dl></p>
882      * @param locale The locale of the message to return.
883      * @param fileName Format argument.
884      * @return The text of the {@code <Document File Not Found Warning>} message for {@code locale}.
885      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
886      */
887     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
888     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
889     private String getDocumentFileNotFoundWarning( final java.util.Locale locale, final java.lang.String fileName )
890     {
891         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Document File Not Found Warning", locale, fileName );
892         assert _m != null : "'Document File Not Found Warning' message not found.";
893         return _m;
894     }
895     /**
896      * Gets the text of the {@code <Excluded Modlet Info>} message.
897      * <p><dl>
898      *   <dt><b>Languages:</b></dt>
899      *     <dd>English (default)</dd>
900      *     <dd>Deutsch</dd>
901      *   <dt><b>Final:</b></dt><dd>No</dd>
902      * </dl></p>
903      * @param locale The locale of the message to return.
904      * @param resourceName Format argument.
905      * @param modletIdentifier Format argument.
906      * @return The text of the {@code <Excluded Modlet Info>} message for {@code locale}.
907      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
908      */
909     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
910     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
911     private String getExcludedModletInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String modletIdentifier )
912     {
913         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Excluded Modlet Info", locale, resourceName, modletIdentifier );
914         assert _m != null : "'Excluded Modlet Info' message not found.";
915         return _m;
916     }
917     /**
918      * Gets the text of the {@code <Excluded Provider Info>} message.
919      * <p><dl>
920      *   <dt><b>Languages:</b></dt>
921      *     <dd>English (default)</dd>
922      *     <dd>Deutsch</dd>
923      *   <dt><b>Final:</b></dt><dd>No</dd>
924      * </dl></p>
925      * @param locale The locale of the message to return.
926      * @param resourceName Format argument.
927      * @param providerName Format argument.
928      * @return The text of the {@code <Excluded Provider Info>} message for {@code locale}.
929      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
930      */
931     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
932     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
933     private String getExcludedProviderInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String providerName )
934     {
935         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Excluded Provider Info", locale, resourceName, providerName );
936         assert _m != null : "'Excluded Provider Info' message not found.";
937         return _m;
938     }
939     /**
940      * Gets the text of the {@code <Excluded Schema Info>} message.
941      * <p><dl>
942      *   <dt><b>Languages:</b></dt>
943      *     <dd>English (default)</dd>
944      *     <dd>Deutsch</dd>
945      *   <dt><b>Final:</b></dt><dd>No</dd>
946      * </dl></p>
947      * @param locale The locale of the message to return.
948      * @param resourceName Format argument.
949      * @param contextId Format argument.
950      * @return The text of the {@code <Excluded Schema Info>} message for {@code locale}.
951      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
952      */
953     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
954     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
955     private String getExcludedSchemaInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String contextId )
956     {
957         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Excluded Schema Info", locale, resourceName, contextId );
958         assert _m != null : "'Excluded Schema Info' message not found.";
959         return _m;
960     }
961     /**
962      * Gets the text of the {@code <Excluded Service Info>} message.
963      * <p><dl>
964      *   <dt><b>Languages:</b></dt>
965      *     <dd>English (default)</dd>
966      *     <dd>Deutsch</dd>
967      *   <dt><b>Final:</b></dt><dd>No</dd>
968      * </dl></p>
969      * @param locale The locale of the message to return.
970      * @param resourceName Format argument.
971      * @param serviceName Format argument.
972      * @return The text of the {@code <Excluded Service Info>} message for {@code locale}.
973      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
974      */
975     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
976     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
977     private String getExcludedServiceInfo( final java.util.Locale locale, final java.lang.String resourceName, final java.lang.String serviceName )
978     {
979         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Excluded Service Info", locale, resourceName, serviceName );
980         assert _m != null : "'Excluded Service Info' message not found.";
981         return _m;
982     }
983     /**
984      * Gets the text of the {@code <Invalid Model Message>} message.
985      * <p><dl>
986      *   <dt><b>Languages:</b></dt>
987      *     <dd>English (default)</dd>
988      *     <dd>Deutsch</dd>
989      *   <dt><b>Final:</b></dt><dd>No</dd>
990      * </dl></p>
991      * @param locale The locale of the message to return.
992      * @param modelIdentifier Format argument.
993      * @return The text of the {@code <Invalid Model Message>} message for {@code locale}.
994      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
995      */
996     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
997     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
998     private String getInvalidModelMessage( final java.util.Locale locale, final java.lang.String modelIdentifier )
999     {
1000         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Invalid Model Message", locale, modelIdentifier );
1001         assert _m != null : "'Invalid Model Message' message not found.";
1002         return _m;
1003     }
1004     /**
1005      * Gets the text of the {@code <Long Description Message>} message.
1006      * <p><dl>
1007      *   <dt><b>Languages:</b></dt>
1008      *     <dd>English (default)</dd>
1009      *   <dt><b>Final:</b></dt><dd>No</dd>
1010      * </dl></p>
1011      * @param locale The locale of the message to return.
1012      * @return The text of the {@code <Long Description Message>} message for {@code locale}.
1013      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1014      */
1015     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
1016     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
1017     private String getLongDescriptionMessage( final java.util.Locale locale )
1018     {
1019         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Long Description Message", locale );
1020         assert _m != null : "'Long Description Message' message not found.";
1021         return _m;
1022     }
1023     /**
1024      * Gets the text of the {@code <Reading Message>} message.
1025      * <p><dl>
1026      *   <dt><b>Languages:</b></dt>
1027      *     <dd>English (default)</dd>
1028      *     <dd>Deutsch</dd>
1029      *   <dt><b>Final:</b></dt><dd>No</dd>
1030      * </dl></p>
1031      * @param locale The locale of the message to return.
1032      * @param locationInfo Format argument.
1033      * @return The text of the {@code <Reading Message>} message for {@code locale}.
1034      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1035      */
1036     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
1037     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
1038     private String getReadingMessage( final java.util.Locale locale, final java.lang.String locationInfo )
1039     {
1040         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Reading Message", locale, locationInfo );
1041         assert _m != null : "'Reading Message' message not found.";
1042         return _m;
1043     }
1044     /**
1045      * Gets the text of the {@code <Separator>} message.
1046      * <p><dl>
1047      *   <dt><b>Languages:</b></dt>
1048      *     <dd>English (default)</dd>
1049      *   <dt><b>Final:</b></dt><dd>No</dd>
1050      * </dl></p>
1051      * @param locale The locale of the message to return.
1052      * @return The text of the {@code <Separator>} message for {@code locale}.
1053      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1054      */
1055     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
1056     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
1057     private String getSeparator( final java.util.Locale locale )
1058     {
1059         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Separator", locale );
1060         assert _m != null : "'Separator' message not found.";
1061         return _m;
1062     }
1063     /**
1064      * Gets the text of the {@code <Short Description Message>} message.
1065      * <p><dl>
1066      *   <dt><b>Languages:</b></dt>
1067      *     <dd>English (default)</dd>
1068      *   <dt><b>Final:</b></dt><dd>No</dd>
1069      * </dl></p>
1070      * @param locale The locale of the message to return.
1071      * @return The text of the {@code <Short Description Message>} message for {@code locale}.
1072      * @throws org.jomc.ObjectManagementException if getting the message instance fails.
1073      */
1074     @SuppressWarnings({"unchecked", "unused", "PMD.UnnecessaryFullyQualifiedName"})
1075     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
1076     private String getShortDescriptionMessage( final java.util.Locale locale )
1077     {
1078         final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "Short Description Message", locale );
1079         assert _m != null : "'Short Description Message' message not found.";
1080         return _m;
1081     }
1082     // </editor-fold>
1083     // SECTION-END
1084     // SECTION-START[Generated Command]
1085     // <editor-fold defaultstate="collapsed" desc=" Generated Options ">
1086     /**
1087      * Gets the options of the command.
1088      * <p><strong>Options:</strong>
1089      *   <table border="1" width="100%" cellpadding="3" cellspacing="0">
1090      *     <tr class="TableSubHeadingColor">
1091      *       <th align="left" scope="col" nowrap><b>Specification</b></th>
1092      *       <th align="left" scope="col" nowrap><b>Implementation</b></th>
1093      *     </tr>
1094      *     <tr class="TableRow">
1095      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1096      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Classpath Option</td>
1097      *     </tr>
1098      *     <tr class="TableRow">
1099      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1100      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Documents Option</td>
1101      *     </tr>
1102      *     <tr class="TableRow">
1103      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1104      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ ModelContextFactory Class Name Option</td>
1105      *     </tr>
1106      *     <tr class="TableRow">
1107      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1108      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Model Option</td>
1109      *     </tr>
1110      *     <tr class="TableRow">
1111      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1112      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Modlet Location Option</td>
1113      *     </tr>
1114      *     <tr class="TableRow">
1115      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1116      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Modlet Schema System Id Option</td>
1117      *     </tr>
1118      *     <tr class="TableRow">
1119      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1120      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Module Location Option</td>
1121      *     </tr>
1122      *     <tr class="TableRow">
1123      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1124      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ No Classpath Resolution Option</td>
1125      *     </tr>
1126      *     <tr class="TableRow">
1127      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1128      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ No Java Validation Option</td>
1129      *     </tr>
1130      *     <tr class="TableRow">
1131      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1132      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ No Model Processing Option</td>
1133      *     </tr>
1134      *     <tr class="TableRow">
1135      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1136      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ No Model Resource Validation Option</td>
1137      *     </tr>
1138      *     <tr class="TableRow">
1139      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1140      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ No Modlet Resource Validation Option</td>
1141      *     </tr>
1142      *     <tr class="TableRow">
1143      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1144      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Platform Provider Location Option</td>
1145      *     </tr>
1146      *     <tr class="TableRow">
1147      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1148      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Provider Location Option</td>
1149      *     </tr>
1150      *     <tr class="TableRow">
1151      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Command Option {@code (org.apache.commons.cli.Option)} @ 1.2</td>
1152      *       <td align="left" valign="top" nowrap>JOMC ⁑ CLI ⁑ Transformer Location Option</td>
1153      *     </tr>
1154      *   </table>
1155      * </p>
1156      * @return The options of the command.
1157      */
1158     @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.9", comments = "See http://www.jomc.org/jomc/1.9/jomc-tools-1.9" )
1159     @Override
1160     public org.apache.commons.cli.Options getOptions()
1161     {
1162         final org.apache.commons.cli.Options options = new org.apache.commons.cli.Options();
1163         options.addOption( this.getClasspathOption() );
1164         options.addOption( this.getDocumentsOption() );
1165         options.addOption( this.getModelContextFactoryOption() );
1166         options.addOption( this.getModelOption() );
1167         options.addOption( this.getModletLocationOption() );
1168         options.addOption( this.getModletSchemaSystemIdOption() );
1169         options.addOption( this.getModuleLocationOption() );
1170         options.addOption( this.getNoClasspathResolutionOption() );
1171         options.addOption( this.getNoJavaValidationOption() );
1172         options.addOption( this.getNoModelProcessingOption() );
1173         options.addOption( this.getNoModelResourceValidation() );
1174         options.addOption( this.getNoModletResourceValidation() );
1175         options.addOption( this.getPlatformProviderLocationOption() );
1176         options.addOption( this.getProviderLocationOption() );
1177         options.addOption( this.getTransformerLocationOption() );
1178         return options;
1179     }
1180     // </editor-fold>
1181     // SECTION-END
1182 
1183 }