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

COVERAGE SUMMARY FOR SOURCE FILE [CollectionSelectionCriteria.java]

nameclass, %method, %block, %line, %
CollectionSelectionCriteria.java100% (1/1)100% (14/14)100% (86/86)100% (23/23)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class CollectionSelectionCriteria100% (1/1)100% (14/14)100% (86/86)100% (23/23)
CollectionSelectionCriteria (Collection, Collection): void 100% (1/1)100% (18/18)100% (7/7)
isMatchingClasses (): boolean 100% (1/1)100% (3/3)100% (1/1)
isMatchingFeatures (): boolean 100% (1/1)100% (3/3)100% (1/1)
isMatchingPackages (): boolean 100% (1/1)100% (3/3)100% (1/1)
matches (ClassNode): boolean 100% (1/1)100% (5/5)100% (1/1)
matches (FeatureNode): boolean 100% (1/1)100% (5/5)100% (1/1)
matches (PackageNode): boolean 100% (1/1)100% (5/5)100% (1/1)
matchesClassName (String): boolean 100% (1/1)100% (4/4)100% (1/1)
matchesFeatureName (String): boolean 100% (1/1)100% (4/4)100% (1/1)
matchesName (String): boolean 100% (1/1)100% (20/20)100% (1/1)
matchesPackageName (String): boolean 100% (1/1)100% (4/4)100% (1/1)
setMatchingClasses (boolean): void 100% (1/1)100% (4/4)100% (2/2)
setMatchingFeatures (boolean): void 100% (1/1)100% (4/4)100% (2/2)
setMatchingPackages (boolean): void 100% (1/1)100% (4/4)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.dependency;
34 
35import java.util.*;
36 
37public class CollectionSelectionCriteria implements SelectionCriteria {
38    private boolean matchingPackages = true;
39    private boolean matchingClasses = true;
40    private boolean matchingFeatures = true;
41 
42    private Collection<String> include;
43    private Collection<String> exclude;
44 
45    public CollectionSelectionCriteria(Collection<String> include, Collection<String> exclude) {
46        this.include = include;
47        this.exclude = exclude;
48    }
49 
50    public boolean isMatchingPackages() {
51        return matchingPackages;
52    }
53 
54    public void setMatchingPackages(boolean matchingPackages) {
55        this.matchingPackages = matchingPackages;
56    }
57 
58    public boolean isMatchingClasses() {
59        return matchingClasses;
60    }
61 
62    public void setMatchingClasses(boolean matchingClasses) {
63        this.matchingClasses = matchingClasses;
64    }
65 
66    public boolean isMatchingFeatures() {
67        return matchingFeatures;
68    }
69 
70    public void setMatchingFeatures(boolean matchingFeatures) {
71        this.matchingFeatures = matchingFeatures;
72    }
73 
74    public boolean matches(PackageNode node) {
75        return matchesName(node.getName());
76    }
77 
78    public boolean matches(ClassNode node) {
79        return matchesName(node.getName());
80    }
81 
82    public boolean matches(FeatureNode node) {
83        return matchesName(node.getName());
84    }
85 
86    public boolean matchesPackageName(String name) {
87        return matchesName(name);
88    }
89 
90    public boolean matchesClassName(String name) {
91        return matchesName(name);
92    }
93 
94    public boolean matchesFeatureName(String name) {
95        return matchesName(name);
96    }
97 
98    private boolean matchesName(String name) {
99        return (include == null || include.contains(name)) && (exclude == null || !exclude.contains(name));
100    }
101}

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