Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
1 package org.apidesign.visitor;
4 // BEGIN: visitor.cleandefinitionofversion
5 public final class Language {
8 public static abstract class Expression {
10 public abstract void visit(Visitor v);
12 public static final class Plus extends Expression {
13 private final Expression first;
14 private final Expression second;
16 public Plus(Expression first, Expression second) {
20 public Expression getFirst() { return first; }
21 public Expression getSecond() { return second; }
23 public void visit(Visitor v) {
24 if (v instanceof Visitor10) {
25 ((Visitor10)v).visitPlus(this);
31 public static final class Number extends Expression {
32 private final int value;
33 public Number(int value) { this.value = value; }
34 public int getValue() { return value; }
36 public void visit(Visitor v) {
37 if (v instanceof Visitor10) {
38 ((Visitor10)v).visitNumber(this);
45 public interface Visitor {
46 public void visitUnknown(Expression e);
49 public interface Visitor10 extends Visitor {
50 public void visitPlus(Plus s);
51 public void visitNumber(Number n);
54 // END: visitor.cleandefinitionofversion