EMMA Coverage Report (generated Mon Nov 29 14:43:38 PST 2010)
[all classes][com.jeantessier.commandline]

COVERAGE SUMMARY FOR SOURCE FILE [TextPrinter.java]

nameclass, %method, %block, %line, %
TextPrinter.java100% (1/1)69%  (9/13)90%  (114/127)77%  (23/30)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class TextPrinter100% (1/1)69%  (9/13)90%  (114/127)77%  (23/30)
visitAliasSwitch (AliasSwitch): void 0%   (0/1)0%   (0/1)0%   (0/1)
visitAtMostParameterStrategy (AtMostParameterStrategy): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitExactlyParameterStrategy (ExactlyParameterStrategy): void 0%   (0/1)0%   (0/4)0%   (0/2)
visitNullParameterStrategy (NullParameterStrategy): void 0%   (0/1)0%   (0/4)0%   (0/2)
TextPrinter (String): void 100% (1/1)100% (8/8)100% (3/3)
getSwitchNames (CommandLine): Set 100% (1/1)100% (3/3)100% (1/1)
visitAtLeastParameterStrategy (AtLeastParameterStrategy): void 100% (1/1)100% (4/4)100% (2/2)
visitCollectingParameterStrategy (CollectingParameterStrategy): void 100% (1/1)100% (4/4)100% (2/2)
visitMultipleValuesSwitch (MultipleValuesSwitch): void 100% (1/1)100% (27/27)100% (3/3)
visitOptionalValueSwitch (OptionalValueSwitch): void 100% (1/1)100% (24/24)100% (5/5)
visitParameterStrategy (ParameterStrategy): void 100% (1/1)100% (19/19)100% (3/3)
visitSingleValueSwitch (SingleValueSwitch): void 100% (1/1)100% (15/15)100% (2/2)
visitToggleSwitch (ToggleSwitch): void 100% (1/1)100% (10/10)100% (2/2)

1/*
2 *  Copyright (c) 2001-2009, Jean Tessier
3 *  All rights reserved.
4 *  
5 *  Redistribution and use in source and binary forms, with or without
6 *  modification, are permitted provided that the following conditions
7 *  are met:
8 *  
9 *      * Redistributions of source code must retain the above copyright
10 *        notice, this list of conditions and the following disclaimer.
11 *  
12 *      * Redistributions in binary form must reproduce the above copyright
13 *        notice, this list of conditions and the following disclaimer in the
14 *        documentation and/or other materials provided with the distribution.
15 *  
16 *      * Neither the name of Jean Tessier nor the names of his contributors
17 *        may be used to endorse or promote products derived from this software
18 *        without specific prior written permission.
19 *  
20 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 *  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
24 *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 
33package com.jeantessier.commandline;
34 
35import java.util.*;
36 
37public class TextPrinter extends Printer {
38    public TextPrinter(String command) {
39        append(command).eol();
40    }
41 
42    protected Set<String> getSwitchNames(CommandLine commandLine) {
43        return commandLine.getPresentSwitches();
44    }
45 
46    public void visitToggleSwitch(ToggleSwitch cls) {
47        indent().append("-").append(cls.getName()).eol();
48    }
49 
50    public void visitSingleValueSwitch(SingleValueSwitch cls) {
51        indent().append("-").append(cls.getName()).append(" ").append(cls.getValue()).eol();
52    }
53 
54    public void visitOptionalValueSwitch(OptionalValueSwitch cls) {
55        indent().append("-").append(cls.getName());
56        if (!"".equals(cls.getValue())) {
57            append(" ").append(cls.getValue());
58        }
59        eol();
60    }
61 
62    public void visitMultipleValuesSwitch(MultipleValuesSwitch cls) {
63        for (String value : (List<String>) cls.getValue()) {
64            indent().append("-").append(cls.getName()).append(" ").append(value).eol();
65        }
66    }
67 
68    public void visitAliasSwitch(AliasSwitch cls) {
69        // Do nothing
70    }
71 
72    public void visitNullParameterStrategy(NullParameterStrategy strategy) {
73        visitParameterStrategy(strategy);
74    }
75 
76    public void visitCollectingParameterStrategy(CollectingParameterStrategy strategy) {
77        visitParameterStrategy(strategy);
78    }
79 
80    public void visitAtLeastParameterStrategy(AtLeastParameterStrategy strategy) {
81        visitParameterStrategy(strategy);
82    }
83 
84    public void visitExactlyParameterStrategy(ExactlyParameterStrategy strategy) {
85        visitParameterStrategy(strategy);
86    }
87 
88    public void visitAtMostParameterStrategy(AtMostParameterStrategy strategy) {
89        visitParameterStrategy(strategy);
90    }
91 
92    private void visitParameterStrategy(ParameterStrategy strategy) {
93        for (String value : strategy.getParameters()) {
94            indent().append(value).eol();
95        }
96    }
97}

[all classes][com.jeantessier.commandline]
EMMA 2.0.5312 (C) Vladimir Roubtsov