EMMA Coverage Report (generated Tue Apr 24 04:47:10 CEST 2012)
[all classes][org.jomc.cli.model]

COVERAGE SUMMARY FOR SOURCE FILE [OptionFactory.java]

nameclass, %method, %block, %line, %
OptionFactory.java100% (1/1)100% (12/12)82%  (224/273)93%  (38.3/41)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class OptionFactory100% (1/1)100% (12/12)82%  (224/273)93%  (38.3/41)
<static initializer> 100% (1/1)75%  (6/8)75%  (0.8/1)
getLocale (): Locale 100% (1/1)75%  (15/20)91%  (2.7/3)
getLongOpt (): String 100% (1/1)75%  (15/20)91%  (2.7/3)
getOpt (): String 100% (1/1)75%  (15/20)91%  (2.7/3)
getNumberOfArgs (): int 100% (1/1)76%  (16/21)91%  (2.7/3)
getValueSeparator (): char 100% (1/1)76%  (16/21)91%  (2.7/3)
isOptionalArg (): boolean 100% (1/1)76%  (16/21)91%  (2.7/3)
isRequired (): boolean 100% (1/1)76%  (16/21)91%  (2.7/3)
getArgumentDescription (Locale): String 100% (1/1)77%  (17/22)92%  (2.8/3)
getDescription (Locale, String): String 100% (1/1)81%  (21/26)93%  (2.8/3)
getObject (): Option 100% (1/1)97%  (68/70)100% (11/11)
OptionFactory (): void 100% (1/1)100% (3/3)100% (2/2)

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, 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: OptionFactory.java 4511 2012-04-24 01:59:23Z schulte2005 $
32 *
33 */
34// </editor-fold>
35// SECTION-END
36package org.jomc.cli.model;
37 
38import java.io.File;
39import org.apache.commons.cli.Option;
40 
41// SECTION-START[Documentation]
42// <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
43/**
44 * Creates {@code Option} objects describing a single command-line option by maintaining information regarding the short-name, the long-name, a flag indicating if an argument is required, and a self-documenting description.
45 *
46 * <dl>
47 *   <dt><b>Identifier:</b></dt><dd>JOMC CLI Option Factory</dd>
48 *   <dt><b>Name:</b></dt><dd>JOMC CLI</dd>
49 *   <dt><b>Abstract:</b></dt><dd>Yes</dd>
50 *   <dt><b>Final:</b></dt><dd>No</dd>
51 *   <dt><b>Stateless:</b></dt><dd>No</dd>
52 * </dl>
53 *
54 * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0
55 * @version 1.2.7
56 */
57// </editor-fold>
58// SECTION-END
59// SECTION-START[Annotations]
60// <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
61@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" )
62// </editor-fold>
63// SECTION-END
64public final class OptionFactory
65{
66    // SECTION-START[OptionFactory]
67 
68    public Option getObject()
69    {
70        final char valueSeparator = this.getValueSeparator() == ':' ? File.pathSeparatorChar : this.getValueSeparator();
71 
72        final Option option =
73            new Option( this.getOpt(), this.getDescription( this.getLocale(), Character.toString( valueSeparator ) ) );
74 
75        option.setArgs( this.getNumberOfArgs() );
76        option.setLongOpt( this.getLongOpt() );
77        option.setOptionalArg( this.isOptionalArg() );
78        option.setRequired( this.isRequired() );
79 
80        if ( ( option.getArgs() > 0 || option.getArgs() == Option.UNLIMITED_VALUES )
81             && this.getArgumentDescription( this.getLocale() ).trim().length() > 0 )
82        {
83            option.setArgName( this.getArgumentDescription( this.getLocale() ) );
84        }
85 
86        if ( option.getArgs() > 1 || option.getArgs() == Option.UNLIMITED_VALUES )
87        {
88            option.setValueSeparator( valueSeparator );
89        }
90 
91        return option;
92    }
93 
94    // SECTION-END
95    // SECTION-START[Constructors]
96    // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
97    /** Creates a new {@code OptionFactory} instance. */
98    @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" )
99    public OptionFactory()
100    {
101        // SECTION-START[Default Constructor]
102        super();
103        // SECTION-END
104    }
105    // </editor-fold>
106    // SECTION-END
107    // SECTION-START[Dependencies]
108    // <editor-fold defaultstate="collapsed" desc=" Generated Dependencies ">
109    /**
110     * Gets the {@code <Locale>} dependency.
111     * <p>
112     *   This method returns the {@code <default>} object of the {@code <java.util.Locale>} specification at specification level 1.1.
113     *   That specification does not apply to any scope. A new object is returned whenever requested and bound to this instance.
114     * </p>
115     * <dl>
116     *   <dt><b>Final:</b></dt><dd>No</dd>
117     * </dl>
118     * @return The {@code <Locale>} dependency.
119     * @throws org.jomc.ObjectManagementException if getting the dependency instance fails.
120     */
121    @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" )
122    private java.util.Locale getLocale()
123    {
124        final java.util.Locale _d = (java.util.Locale) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getDependency( this, "Locale" );
125        assert _d != null : "'Locale' dependency not found.";
126        return _d;
127    }
128    // </editor-fold>
129    // SECTION-END
130    // SECTION-START[Properties]
131    // <editor-fold defaultstate="collapsed" desc=" Generated Properties ">
132    /**
133     * Gets the value of the {@code <longOpt>} property.
134     * <p><dl>
135     *   <dt><b>Final:</b></dt><dd>No</dd>
136     * </dl></p>
137     * @return Long name of the option.
138     * @throws org.jomc.ObjectManagementException if getting the property instance fails.
139     */
140    @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" )
141    private java.lang.String getLongOpt()
142    {
143        final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "longOpt" );
144        assert _p != null : "'longOpt' property not found.";
145        return _p;
146    }
147    /**
148     * Gets the value of the {@code <numberOfArgs>} property.
149     * <p><dl>
150     *   <dt><b>Final:</b></dt><dd>No</dd>
151     * </dl></p>
152     * @return Number of argument values the option can take.
153     * @throws org.jomc.ObjectManagementException if getting the property instance fails.
154     */
155    @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" )
156    private int getNumberOfArgs()
157    {
158        final java.lang.Integer _p = (java.lang.Integer) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "numberOfArgs" );
159        assert _p != null : "'numberOfArgs' property not found.";
160        return _p.intValue();
161    }
162    /**
163     * Gets the value of the {@code <opt>} property.
164     * <p><dl>
165     *   <dt><b>Final:</b></dt><dd>No</dd>
166     * </dl></p>
167     * @return Name of the option.
168     * @throws org.jomc.ObjectManagementException if getting the property instance fails.
169     */
170    @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" )
171    private java.lang.String getOpt()
172    {
173        final java.lang.String _p = (java.lang.String) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "opt" );
174        assert _p != null : "'opt' property not found.";
175        return _p;
176    }
177    /**
178     * Gets the value of the {@code <optionalArg>} property.
179     * <p><dl>
180     *   <dt><b>Final:</b></dt><dd>No</dd>
181     * </dl></p>
182     * @return Query to see if the option can have an optional argument.
183     * @throws org.jomc.ObjectManagementException if getting the property instance fails.
184     */
185    @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" )
186    private boolean isOptionalArg()
187    {
188        final java.lang.Boolean _p = (java.lang.Boolean) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "optionalArg" );
189        assert _p != null : "'optionalArg' property not found.";
190        return _p.booleanValue();
191    }
192    /**
193     * Gets the value of the {@code <required>} property.
194     * <p><dl>
195     *   <dt><b>Final:</b></dt><dd>No</dd>
196     * </dl></p>
197     * @return Query to see if the option is required.
198     * @throws org.jomc.ObjectManagementException if getting the property instance fails.
199     */
200    @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" )
201    private boolean isRequired()
202    {
203        final java.lang.Boolean _p = (java.lang.Boolean) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "required" );
204        assert _p != null : "'required' property not found.";
205        return _p.booleanValue();
206    }
207    /**
208     * Gets the value of the {@code <valueSeparator>} property.
209     * <p><dl>
210     *   <dt><b>Final:</b></dt><dd>No</dd>
211     * </dl></p>
212     * @return Value separator of the option.
213     * @throws org.jomc.ObjectManagementException if getting the property instance fails.
214     */
215    @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" )
216    private char getValueSeparator()
217    {
218        final java.lang.Character _p = (java.lang.Character) org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getProperty( this, "valueSeparator" );
219        assert _p != null : "'valueSeparator' property not found.";
220        return _p.charValue();
221    }
222    // </editor-fold>
223    // SECTION-END
224    // SECTION-START[Messages]
225    // <editor-fold defaultstate="collapsed" desc=" Generated Messages ">
226    /**
227     * Gets the text of the {@code <argumentDescription>} message.
228     * <p><dl>
229     *   <dt><b>Languages:</b></dt>
230     *     <dd>English (default)</dd>
231     *   <dt><b>Final:</b></dt><dd>No</dd>
232     * </dl></p>
233     * @param locale The locale of the message to return.
234     * @return Display name for the argument value of the option.
235     * @throws org.jomc.ObjectManagementException if getting the message instance fails.
236     */
237    @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" )
238    private String getArgumentDescription( final java.util.Locale locale )
239    {
240        final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "argumentDescription", locale );
241        assert _m != null : "'argumentDescription' message not found.";
242        return _m;
243    }
244    /**
245     * Gets the text of the {@code <description>} message.
246     * <p><dl>
247     *   <dt><b>Languages:</b></dt>
248     *     <dd>English (default)</dd>
249     *   <dt><b>Final:</b></dt><dd>No</dd>
250     * </dl></p>
251     * @param locale The locale of the message to return.
252     * @param valueSeparator Format argument.
253     * @return Display description of the option.
254     * @throws org.jomc.ObjectManagementException if getting the message instance fails.
255     */
256    @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" )
257    private String getDescription( final java.util.Locale locale, final java.lang.String valueSeparator )
258    {
259        final String _m = org.jomc.ObjectManagerFactory.getObjectManager( this.getClass().getClassLoader() ).getMessage( this, "description", locale, valueSeparator );
260        assert _m != null : "'description' message not found.";
261        return _m;
262    }
263    // </editor-fold>
264    // SECTION-END
265}

[all classes][org.jomc.cli.model]
EMMA 2.1.5320 (stable) (C) Vladimir Roubtsov