71 * methods with names beginning with {@code "visit"}.
72 *
73 * <p>When such a new visit method is added, the default
74 * implementation in this class will be to call the {@link
75 * #visitUnknown visitUnknown} method. A new element scanner visitor
76 * class will also be introduced to correspond to the new language
77 * level; this visitor will have different default behavior for the
78 * visit method in question. When the new visitor is introduced, all
79 * or portions of this visitor may be deprecated.
80 *
81 * @param <R> the return type of this visitor's methods. Use {@link
82 * Void} for visitors that do not need to return results.
83 * @param <P> the type of the additional parameter to this visitor's
84 * methods. Use {@code Void} for visitors that do not need an
85 * additional parameter.
86 *
87 * @see ElementScanner6
88 * @see ElementScanner7
89 * @see ElementScanner8
90 * @since 9
91 */
92 @SupportedSourceVersion(RELEASE_9)
93 public class ElementScanner9<R, P> extends ElementScanner8<R, P> {
94 /**
95 * Constructor for concrete subclasses; uses {@code null} for the
96 * default value.
97 */
98 protected ElementScanner9(){
99 super(null);
100 }
101
102 /**
103 * Constructor for concrete subclasses; uses the argument for the
104 * default value.
105 *
106 * @param defaultValue the default value
107 */
108 protected ElementScanner9(R defaultValue){
109 super(defaultValue);
110 }
|
71 * methods with names beginning with {@code "visit"}.
72 *
73 * <p>When such a new visit method is added, the default
74 * implementation in this class will be to call the {@link
75 * #visitUnknown visitUnknown} method. A new element scanner visitor
76 * class will also be introduced to correspond to the new language
77 * level; this visitor will have different default behavior for the
78 * visit method in question. When the new visitor is introduced, all
79 * or portions of this visitor may be deprecated.
80 *
81 * @param <R> the return type of this visitor's methods. Use {@link
82 * Void} for visitors that do not need to return results.
83 * @param <P> the type of the additional parameter to this visitor's
84 * methods. Use {@code Void} for visitors that do not need an
85 * additional parameter.
86 *
87 * @see ElementScanner6
88 * @see ElementScanner7
89 * @see ElementScanner8
90 * @since 9
91 * @spec JPMS
92 */
93 @SupportedSourceVersion(RELEASE_9)
94 public class ElementScanner9<R, P> extends ElementScanner8<R, P> {
95 /**
96 * Constructor for concrete subclasses; uses {@code null} for the
97 * default value.
98 */
99 protected ElementScanner9(){
100 super(null);
101 }
102
103 /**
104 * Constructor for concrete subclasses; uses the argument for the
105 * default value.
106 *
107 * @param defaultValue the default value
108 */
109 protected ElementScanner9(R defaultValue){
110 super(defaultValue);
111 }
|