01: /*
02: * Copyright Aduna (http://www.aduna-software.com/) (c) 2008.
03: *
04: * Licensed under the Aduna BSD-style license.
05: */
06: package org.openrdf.sail.rdbms.algebra.base;
07:
08: import org.openrdf.query.algebra.QueryModelNodeBase;
09: import org.openrdf.query.algebra.QueryModelVisitor;
10:
11: /**
12: * An extension to {@link QueryModelNodeBase} for SQL query algebra.
13: *
14: * @author James Leigh
15: *
16: */
17: public abstract class RdbmsQueryModelNodeBase extends
18: QueryModelNodeBase {
19:
20: public <X extends Exception> void visit(QueryModelVisitor<X> visitor)
21: throws X {
22: if (visitor instanceof RdbmsQueryModelVisitorBase) {
23: visit((RdbmsQueryModelVisitorBase<X>) visitor);
24: } else {
25: visitor.meetOther(this );
26: }
27: }
28:
29: public abstract <X extends Exception> void visit(
30: RdbmsQueryModelVisitorBase<X> visitor) throws X;
31: }
|