1.1 --- a/samples/visitor/visitunknown/src-api2.0/org/apidesign/visitor/Language.java Sat Jun 14 10:32:31 2008 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,57 +0,0 @@
1.4 -package org.apidesign.visitor;
1.5 -
1.6 -public final class Language {
1.7 - private Language() { }
1.8 -
1.9 - public static abstract class Expression {
1.10 - public abstract void visit(Visitor v);
1.11 - }
1.12 - public static final class Plus extends Expression {
1.13 - private final Expression first;
1.14 - private final Expression second;
1.15 -
1.16 - public Plus(Expression first, Expression second) {
1.17 - this.first = first;
1.18 - this.second = second;
1.19 - }
1.20 - public Expression getFirst() { return first; }
1.21 - public Expression getSecond() { return second; }
1.22 - @Override
1.23 - public void visit(Visitor v) { v.visitPlus(this); }
1.24 - }
1.25 - public static final class Number extends Expression {
1.26 - private final int value;
1.27 - public Number(int value) { this.value = value; }
1.28 - public int getValue() { return value; }
1.29 - @Override
1.30 - public void visit(Visitor v) { v.visitNumber(this); }
1.31 - }
1.32 - /** @since 2.0 */
1.33 - public static final class Minus extends Expression {
1.34 - private final Expression first;
1.35 - private final Expression second;
1.36 -
1.37 - public Minus(Expression first, Expression second) {
1.38 - this.first = first;
1.39 - this.second = second;
1.40 - }
1.41 - public Expression getFirst() { return first; }
1.42 - public Expression getSecond() { return second; }
1.43 - public void visit(Visitor v) {
1.44 - v.visitMinus(this);
1.45 - }
1.46 - }
1.47 - // BEGIN: visitor.visitunknown.v2
1.48 - public static abstract class Visitor/*2.0*/ {
1.49 - public void visitUnknown(Expression exp) {
1.50 - throw new IllegalStateException("Unknown element faced: " + exp);
1.51 - }
1.52 - public abstract void visitPlus(Plus s);
1.53 - public abstract void visitNumber(Number n);
1.54 - /** @since 2.0 */
1.55 - public void visitMinus(Minus s) {
1.56 - visitUnknown(s);
1.57 - }
1.58 - }
1.59 - // END: visitor.visitunknown.v2
1.60 -}