src/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java

Tue, 19 Feb 2013 00:31:45 -0800

author
darcy
date
Tue, 19 Feb 2013 00:31:45 -0800
changeset 1590
011cf7e0a148
parent 1409
33abf479f202
child 2083
379c04c090cf
permissions
-rw-r--r--

8008267: Add @Supported annotation to com.sun.source types
Reviewed-by: jjg

jjg@1409 1 /*
darcy@1590 2 * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
jjg@1409 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
jjg@1409 4 *
jjg@1409 5 * This code is free software; you can redistribute it and/or modify it
jjg@1409 6 * under the terms of the GNU General Public License version 2 only, as
jjg@1409 7 * published by the Free Software Foundation. Oracle designates this
jjg@1409 8 * particular file as subject to the "Classpath" exception as provided
jjg@1409 9 * by Oracle in the LICENSE file that accompanied this code.
jjg@1409 10 *
jjg@1409 11 * This code is distributed in the hope that it will be useful, but WITHOUT
jjg@1409 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
jjg@1409 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
jjg@1409 14 * version 2 for more details (a copy is included in the LICENSE file that
jjg@1409 15 * accompanied this code).
jjg@1409 16 *
jjg@1409 17 * You should have received a copy of the GNU General Public License version
jjg@1409 18 * 2 along with this work; if not, write to the Free Software Foundation,
jjg@1409 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
jjg@1409 20 *
jjg@1409 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
jjg@1409 22 * or visit www.oracle.com if you need additional information or have any
jjg@1409 23 * questions.
jjg@1409 24 */
jjg@1409 25
jjg@1409 26 package com.sun.source.util;
jjg@1409 27
jjg@1409 28 import com.sun.source.doctree.*;
jjg@1409 29
jjg@1409 30 /**
jjg@1409 31 * A simple visitor for tree nodes.
jjg@1409 32 *
jjg@1409 33 * @since 1.8
jjg@1409 34 */
darcy@1590 35 @jdk.Supported
jjg@1409 36 public class SimpleDocTreeVisitor<R,P> implements DocTreeVisitor<R, P> {
jjg@1409 37 protected final R DEFAULT_VALUE;
jjg@1409 38
jjg@1409 39 protected SimpleDocTreeVisitor() {
jjg@1409 40 DEFAULT_VALUE = null;
jjg@1409 41 }
jjg@1409 42
jjg@1409 43 protected SimpleDocTreeVisitor(R defaultValue) {
jjg@1409 44 DEFAULT_VALUE = defaultValue;
jjg@1409 45 }
jjg@1409 46
jjg@1409 47 protected R defaultAction(DocTree node, P p) {
jjg@1409 48 return DEFAULT_VALUE;
jjg@1409 49 }
jjg@1409 50
jjg@1409 51 public final R visit(DocTree node, P p) {
jjg@1409 52 return (node == null) ? null : node.accept(this, p);
jjg@1409 53 }
jjg@1409 54
jjg@1409 55 public final R visit(Iterable<? extends DocTree> nodes, P p) {
jjg@1409 56 R r = null;
jjg@1409 57 if (nodes != null) {
jjg@1409 58 for (DocTree node : nodes)
jjg@1409 59 r = visit(node, p);
jjg@1409 60 }
jjg@1409 61 return r;
jjg@1409 62 }
jjg@1409 63
jjg@1409 64 public R visitAttribute(AttributeTree node, P p) {
jjg@1409 65 return defaultAction(node, p);
jjg@1409 66 }
jjg@1409 67
jjg@1409 68 public R visitAuthor(AuthorTree node, P p) {
jjg@1409 69 return defaultAction(node, p);
jjg@1409 70 }
jjg@1409 71
jjg@1409 72 public R visitComment(CommentTree node, P p) {
jjg@1409 73 return defaultAction(node, p);
jjg@1409 74 }
jjg@1409 75
jjg@1409 76 public R visitDeprecated(DeprecatedTree node, P p) {
jjg@1409 77 return defaultAction(node, p);
jjg@1409 78 }
jjg@1409 79
jjg@1409 80 public R visitDocComment(DocCommentTree node, P p) {
jjg@1409 81 return defaultAction(node, p);
jjg@1409 82 }
jjg@1409 83
jjg@1409 84 public R visitDocRoot(DocRootTree node, P p) {
jjg@1409 85 return defaultAction(node, p);
jjg@1409 86 }
jjg@1409 87
jjg@1409 88 public R visitEndElement(EndElementTree node, P p) {
jjg@1409 89 return defaultAction(node, p);
jjg@1409 90 }
jjg@1409 91
jjg@1409 92 public R visitEntity(EntityTree node, P p) {
jjg@1409 93 return defaultAction(node, p);
jjg@1409 94 }
jjg@1409 95
jjg@1409 96 public R visitErroneous(ErroneousTree node, P p) {
jjg@1409 97 return defaultAction(node, p);
jjg@1409 98 }
jjg@1409 99
jjg@1409 100 public R visitIdentifier(IdentifierTree node, P p) {
jjg@1409 101 return defaultAction(node, p);
jjg@1409 102 }
jjg@1409 103
jjg@1409 104 public R visitInheritDoc(InheritDocTree node, P p) {
jjg@1409 105 return defaultAction(node, p);
jjg@1409 106 }
jjg@1409 107
jjg@1409 108 public R visitLink(LinkTree node, P p) {
jjg@1409 109 return defaultAction(node, p);
jjg@1409 110 }
jjg@1409 111
jjg@1409 112 public R visitLiteral(LiteralTree node, P p) {
jjg@1409 113 return defaultAction(node, p);
jjg@1409 114 }
jjg@1409 115
jjg@1409 116 public R visitParam(ParamTree node, P p) {
jjg@1409 117 return defaultAction(node, p);
jjg@1409 118 }
jjg@1409 119
jjg@1409 120 public R visitReference(ReferenceTree node, P p) {
jjg@1409 121 return defaultAction(node, p);
jjg@1409 122 }
jjg@1409 123
jjg@1409 124 public R visitReturn(ReturnTree node, P p) {
jjg@1409 125 return defaultAction(node, p);
jjg@1409 126 }
jjg@1409 127
jjg@1409 128 public R visitSee(SeeTree node, P p) {
jjg@1409 129 return defaultAction(node, p);
jjg@1409 130 }
jjg@1409 131
jjg@1409 132 public R visitSerial(SerialTree node, P p) {
jjg@1409 133 return defaultAction(node, p);
jjg@1409 134 }
jjg@1409 135
jjg@1409 136 public R visitSerialData(SerialDataTree node, P p) {
jjg@1409 137 return defaultAction(node, p);
jjg@1409 138 }
jjg@1409 139
jjg@1409 140 public R visitSerialField(SerialFieldTree node, P p) {
jjg@1409 141 return defaultAction(node, p);
jjg@1409 142 }
jjg@1409 143
jjg@1409 144 public R visitSince(SinceTree node, P p) {
jjg@1409 145 return defaultAction(node, p);
jjg@1409 146 }
jjg@1409 147
jjg@1409 148 public R visitStartElement(StartElementTree node, P p) {
jjg@1409 149 return defaultAction(node, p);
jjg@1409 150 }
jjg@1409 151
jjg@1409 152 public R visitText(TextTree node, P p) {
jjg@1409 153 return defaultAction(node, p);
jjg@1409 154 }
jjg@1409 155
jjg@1409 156 public R visitThrows(ThrowsTree node, P p) {
jjg@1409 157 return defaultAction(node, p);
jjg@1409 158 }
jjg@1409 159
jjg@1409 160 public R visitUnknownBlockTag(UnknownBlockTagTree node, P p) {
jjg@1409 161 return defaultAction(node, p);
jjg@1409 162 }
jjg@1409 163
jjg@1409 164 public R visitUnknownInlineTag(UnknownInlineTagTree node, P p) {
jjg@1409 165 return defaultAction(node, p);
jjg@1409 166 }
jjg@1409 167
jjg@1409 168 public R visitValue(ValueTree node, P p) {
jjg@1409 169 return defaultAction(node, p);
jjg@1409 170 }
jjg@1409 171
jjg@1409 172 public R visitVersion(VersionTree node, P p) {
jjg@1409 173 return defaultAction(node, p);
jjg@1409 174 }
jjg@1409 175
jjg@1409 176 public R visitOther(DocTree node, P p) {
jjg@1409 177 return defaultAction(node, p);
jjg@1409 178 }
jjg@1409 179
jjg@1409 180 }

mercurial