EMMA Coverage Report (generated Thu Dec 06 15:52:10 GMT 2007)
[all classes][javax.lang.model.util]

COVERAGE SUMMARY FOR SOURCE FILE [SimpleElementVisitor6.java]

nameclass, %method, %block, %line, %
SimpleElementVisitor6.java0%   (0/1)0%   (0/8)0%   (0/40)0%   (0/12)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SimpleElementVisitor60%   (0/1)0%   (0/8)0%   (0/40)0%   (0/12)
SimpleElementVisitor6 (): void 0%   (0/1)0%   (0/6)0%   (0/3)
SimpleElementVisitor6 (Object): void 0%   (0/1)0%   (0/6)0%   (0/3)
defaultAction (Element, Object): Object 0%   (0/1)0%   (0/3)0%   (0/1)
visitExecutable (ExecutableElement, Object): Object 0%   (0/1)0%   (0/5)0%   (0/1)
visitPackage (PackageElement, Object): Object 0%   (0/1)0%   (0/5)0%   (0/1)
visitType (TypeElement, Object): Object 0%   (0/1)0%   (0/5)0%   (0/1)
visitTypeParameter (TypeParameterElement, Object): Object 0%   (0/1)0%   (0/5)0%   (0/1)
visitVariable (VariableElement, Object): Object 0%   (0/1)0%   (0/5)0%   (0/1)

1/*
2 * Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25 
26package javax.lang.model.util;
27 
28import javax.lang.model.element.*;
29import javax.annotation.processing.SupportedSourceVersion;
30import static javax.lang.model.element.ElementKind.*;
31import javax.lang.model.SourceVersion;
32import static javax.lang.model.SourceVersion.*;
33 
34 
35/**
36 * A simple visitor of program elements with default behavior
37 * appropriate for the {@link SourceVersion#RELEASE_6 RELEASE_6}
38 * source version.
39 *
40 * Visit methods corresponding to {@code RELEASE_6} language
41 * constructs call {@link #defaultAction}, passing their arguments to
42 * {@code defaultAction}'s corresponding parameters.
43 *
44 * <p> Methods in this class may be overridden subject to their
45 * general contract.  Note that annotating methods in concrete
46 * subclasses with {@link java.lang.Override @Override} will help
47 * ensure that methods are overridden as intended.
48 *
49 * <p> <b>WARNING:</b> The {@code ElementVisitor} interface
50 * implemented by this class may have methods added to it in the
51 * future to accommodate new, currently unknown, language structures
52 * added to future versions of the Java&trade; programming language.
53 * Therefore, methods whose names begin with {@code "visit"} may be
54 * added to this class in the future; to avoid incompatibilities,
55 * classes which extend this class should not declare any instance
56 * methods with names beginning with {@code "visit"}.
57 *
58 * <p>When such a new visit method is added, the default
59 * implementation in this class will be to call the {@link
60 * #visitUnknown visitUnknown} method.  A new simple element visitor
61 * class will also be introduced to correspond to the new language
62 * level; this visitor will have different default behavior for the
63 * visit method in question.  When the new visitor is introduced, all
64 * or portions of this visitor may be deprecated.
65 *
66 * @param <R> the return type of this visitor's methods.  Use {@code Void}
67 *             for visitors that do not need to return results.
68 * @param <P> the type of the additional parameter to this visitor's methods.  Use {@code Void}
69 *              for visitors that do not need an additional parameter.
70 *
71 * @author Joseph D. Darcy
72 * @author Scott Seligman
73 * @author Peter von der Ah&eacute;
74 * @since 1.6
75 */
76@SupportedSourceVersion(RELEASE_6)
77public class SimpleElementVisitor6<R, P> extends AbstractElementVisitor6<R, P> {
78    /**
79     * Default value to be returned; {@link #defaultAction
80     * defaultAction} returns this value unless the method is
81     * overridden.
82     */
83    protected final R DEFAULT_VALUE;
84 
85    /**
86     * Constructor for concrete subclasses; uses {@code null} for the
87     * default value.
88     */
89    protected SimpleElementVisitor6(){
90        DEFAULT_VALUE = null;
91    }
92 
93    /**
94     * Constructor for concrete subclasses; uses the argument for the
95     * default value.
96     *
97     * @param defaultValue the value to assign to {@link #DEFAULT_VALUE}
98     */
99    protected SimpleElementVisitor6(R defaultValue){
100        DEFAULT_VALUE = defaultValue;
101    }
102    /**
103     * The default action for visit methods.  The implementation in
104     * this class just returns {@link #DEFAULT_VALUE}; subclasses will
105     * commonly override this method.
106     *
107     * @param e the element to process
108     * @param p a visitor-specified parameter
109     * @return {@code DEFAULT_VALUE} unless overridden
110     */
111    protected R defaultAction(Element e, P p) {
112        return DEFAULT_VALUE;
113    }
114 
115    /**
116     * {@inheritDoc} This implementation calls {@code defaultAction}.
117     *
118     * @param e {@inheritDoc}
119     * @param p {@inheritDoc}
120     * @return  the result of {@code defaultAction}
121     */
122    public R visitPackage(PackageElement e, P p) {
123        return defaultAction(e, p);
124    }
125 
126    /**
127     * {@inheritDoc} This implementation calls {@code defaultAction}.
128     *
129     * @param e {@inheritDoc}
130     * @param p {@inheritDoc}
131     * @return  the result of {@code defaultAction}
132     */
133    public R visitType(TypeElement e, P p) {
134        return defaultAction(e, p);
135    }
136 
137    /**
138     * {@inheritDoc} This implementation calls {@code defaultAction}.
139     *
140     * @param e {@inheritDoc}
141     * @param p {@inheritDoc}
142     * @return  the result of {@code defaultAction}
143     */
144    public R visitVariable(VariableElement e, P p) {
145        return defaultAction(e, p);
146    }
147 
148    /**
149     * {@inheritDoc} This implementation calls {@code defaultAction}.
150     *
151     * @param e {@inheritDoc}
152     * @param p {@inheritDoc}
153     * @return  the result of {@code defaultAction}
154     */
155    public R visitExecutable(ExecutableElement e, P p) {
156        return defaultAction(e, p);
157    }
158 
159    /**
160     * {@inheritDoc} This implementation calls {@code defaultAction}.
161     *
162     * @param e {@inheritDoc}
163     * @param p {@inheritDoc}
164     * @return  the result of {@code defaultAction}
165     */
166    public R visitTypeParameter(TypeParameterElement e, P p) {
167        return defaultAction(e, p);
168    }
169}

[all classes][javax.lang.model.util]
EMMA 2.0.5312 (C) Vladimir Roubtsov