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

COVERAGE SUMMARY FOR SOURCE FILE [SelectiveVisitor.java]

nameclass, %method, %block, %line, %
SelectiveVisitor.java100% (1/1)100% (13/13)100% (108/108)100% (36/36)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SelectiveVisitor100% (1/1)100% (13/13)100% (108/108)100% (36/36)
SelectiveVisitor (TraversalStrategy): void 100% (1/1)100% (6/6)100% (3/3)
traverseInbound (Collection): void 100% (1/1)100% (7/7)100% (2/2)
traverseNodes (Collection): void 100% (1/1)100% (7/7)100% (2/2)
traverseOutbound (Collection): void 100% (1/1)100% (7/7)100% (2/2)
visitClassNode (ClassNode): void 100% (1/1)100% (9/9)100% (3/3)
visitFeatureNode (FeatureNode): void 100% (1/1)100% (9/9)100% (3/3)
visitInboundClassNode (ClassNode): void 100% (1/1)100% (9/9)100% (3/3)
visitInboundFeatureNode (FeatureNode): void 100% (1/1)100% (9/9)100% (3/3)
visitInboundPackageNode (PackageNode): void 100% (1/1)100% (9/9)100% (3/3)
visitOutboundClassNode (ClassNode): void 100% (1/1)100% (9/9)100% (3/3)
visitOutboundFeatureNode (FeatureNode): void 100% (1/1)100% (9/9)100% (3/3)
visitOutboundPackageNode (PackageNode): void 100% (1/1)100% (9/9)100% (3/3)
visitPackageNode (PackageNode): void 100% (1/1)100% (9/9)100% (3/3)

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 SelectiveVisitor extends VisitorDecorator {
38    private final TraversalStrategy traversalStrategy;
39 
40    public SelectiveVisitor(TraversalStrategy traversalStrategy) {
41        this.traversalStrategy = traversalStrategy;
42    }
43 
44    public void traverseNodes(Collection<? extends Node> nodes) {
45        super.traverseNodes(traversalStrategy.order(nodes));
46    }
47 
48    public void traverseInbound(Collection<? extends Node> nodes) {
49        super.traverseInbound(traversalStrategy.order(nodes));
50    }
51 
52    public void traverseOutbound(Collection<? extends Node> nodes) {
53        super.traverseOutbound(traversalStrategy.order(nodes));
54    }
55 
56    public void visitPackageNode(PackageNode node) {
57        if (traversalStrategy.isInScope(node)) {
58            super.visitPackageNode(node);
59        }
60    }
61 
62    public void visitInboundPackageNode(PackageNode node) {
63        if (traversalStrategy.isInFilter(node)) {
64            super.visitInboundPackageNode(node);
65        }
66    }
67 
68    public void visitOutboundPackageNode(PackageNode node) {
69        if (traversalStrategy.isInFilter(node)) {
70            super.visitOutboundPackageNode(node);
71        }
72    }
73 
74    public void visitClassNode(ClassNode node) {
75        if (traversalStrategy.isInScope(node)) {
76            super.visitClassNode(node);
77        }
78    }
79 
80    public void visitInboundClassNode(ClassNode node) {
81        if (traversalStrategy.isInFilter(node)) {
82            super.visitInboundClassNode(node);
83        }
84    }
85 
86    public void visitOutboundClassNode(ClassNode node) {
87        if (traversalStrategy.isInFilter(node)) {
88            super.visitOutboundClassNode(node);
89        }
90    }
91 
92    public void visitFeatureNode(FeatureNode node) {
93        if (traversalStrategy.isInScope(node)) {
94            super.visitFeatureNode(node);
95        }
96    }
97 
98    public void visitInboundFeatureNode(FeatureNode node) {
99        if (traversalStrategy.isInFilter(node)) {
100            super.visitInboundFeatureNode(node);
101        }
102    }
103 
104    public void visitOutboundFeatureNode(FeatureNode node) {
105        if (traversalStrategy.isInFilter(node)) {
106            super.visitOutboundFeatureNode(node);
107        }
108    }
109}

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