添加OracleExpr接口

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@950 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-10-13 03:10:28 +00:00
parent 0a4e4dafb9
commit 120f3f708a
38 changed files with 134 additions and 79 deletions
@@ -17,7 +17,7 @@ package com.alibaba.druid.sql.dialect.oracle.ast;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class OracleHint extends OracleSQLObject {
public class OracleHint extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -1,36 +1,7 @@
/*
* Copyright 1999-2011 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.druid.sql.dialect.oracle.ast;
import com.alibaba.druid.sql.ast.SQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
import com.alibaba.druid.sql.ast.SQLObject;
public abstract class OracleSQLObject extends SQLObjectImpl {
private static final long serialVersionUID = 1L;
public OracleSQLObject(){
}
@Override
protected void accept0(SQLASTVisitor visitor) {
this.accept0((OracleASTVisitor) visitor);
}
protected abstract void accept0(OracleASTVisitor visitor);
public interface OracleSQLObject extends SQLObject {
}
@@ -0,0 +1,36 @@
/*
* Copyright 1999-2011 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.druid.sql.dialect.oracle.ast;
import com.alibaba.druid.sql.ast.SQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public abstract class OracleSQLObjectImpl extends SQLObjectImpl implements OracleSQLObject {
private static final long serialVersionUID = 1L;
public OracleSQLObjectImpl(){
}
@Override
protected void accept0(SQLASTVisitor visitor) {
this.accept0((OracleASTVisitor) visitor);
}
protected abstract void accept0(OracleASTVisitor visitor);
}
@@ -4,10 +4,10 @@ import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class CycleClause extends OracleSQLObject {
public class CycleClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -1,10 +1,10 @@
package com.alibaba.druid.sql.dialect.oracle.ast.clause;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public abstract class FlashbackQueryClause extends OracleSQLObject {
public abstract class FlashbackQueryClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -4,10 +4,10 @@ import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class PartitionExtensionClause extends OracleSQLObject {
public class PartitionExtensionClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -1,10 +1,10 @@
package com.alibaba.druid.sql.dialect.oracle.ast.clause;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class SampleClause extends OracleSQLObject {
public class SampleClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -4,11 +4,11 @@ import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class SearchClause extends OracleSQLObject {
public class SearchClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -6,10 +6,10 @@ import java.util.List;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
import com.alibaba.druid.sql.ast.statement.SQLSelectQuery;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class SubqueryFactoringClause extends OracleSQLObject {
public class SubqueryFactoringClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -19,7 +19,7 @@ public class SubqueryFactoringClause extends OracleSQLObject {
return entries;
}
public static class Entry extends OracleSQLObject {
public static class Entry extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -23,7 +23,7 @@ import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleAggregateExpr extends SQLAggregateExpr implements Serializable {
public class OracleAggregateExpr extends SQLAggregateExpr implements Serializable, OracleExpr {
private static final long serialVersionUID = 1L;
private OracleAnalytic over;
@@ -24,7 +24,7 @@ import com.alibaba.druid.sql.dialect.oracle.ast.OracleOrderBy;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleAnalytic extends SQLObjectImpl {
public class OracleAnalytic extends SQLObjectImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private final List<SQLExpr> partitionBy = new ArrayList<SQLExpr>();
@@ -21,7 +21,7 @@ import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
@SuppressWarnings("serial")
public class OracleAnalyticWindowing extends SQLObjectImpl {
public class OracleAnalyticWindowing extends SQLObjectImpl implements OracleExpr {
private Type type;
private SQLExpr expr;
@@ -23,7 +23,7 @@ import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleArrayAccessExpr extends SQLExprImpl {
public class OracleArrayAccessExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private SQLExpr ownner;
@@ -4,7 +4,7 @@ import com.alibaba.druid.sql.ast.expr.SQLNumericLiteralExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleBinaryDoubleExpr extends SQLNumericLiteralExpr {
public class OracleBinaryDoubleExpr extends SQLNumericLiteralExpr implements OracleExpr {
private static final long serialVersionUID = 1L;
@@ -4,7 +4,7 @@ import com.alibaba.druid.sql.ast.expr.SQLNumericLiteralExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleBinaryFloatExpr extends SQLNumericLiteralExpr {
public class OracleBinaryFloatExpr extends SQLNumericLiteralExpr implements OracleExpr {
private static final long serialVersionUID = 1L;
@@ -5,7 +5,7 @@ import com.alibaba.druid.sql.ast.statement.SQLSelect;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleCursorExpr extends SQLExprImpl {
public class OracleCursorExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
@@ -19,7 +19,7 @@ import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleDateExpr extends SQLLiteralExpr {
public class OracleDateExpr extends SQLLiteralExpr implements OracleExpr {
private static final long serialVersionUID = 1L;
@@ -17,7 +17,7 @@ package com.alibaba.druid.sql.dialect.oracle.ast.expr;
import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
public abstract class OracleDatetimeLiteralExpr extends SQLLiteralExpr {
public abstract class OracleDatetimeLiteralExpr extends SQLLiteralExpr implements OracleExpr {
private static final long serialVersionUID = 1L;
protected int year;
@@ -21,7 +21,7 @@ import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleDbLinkExpr extends SQLExprImpl implements SQLName {
public class OracleDbLinkExpr extends SQLExprImpl implements SQLName, OracleExpr {
private static final long serialVersionUID = 1L;
private SQLExpr expr;
@@ -0,0 +1,9 @@
package com.alibaba.druid.sql.dialect.oracle.ast.expr;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
public interface OracleExpr extends SQLExpr, OracleSQLObject {
}
@@ -20,7 +20,7 @@ import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleExtractExpr extends SQLExprImpl {
public class OracleExtractExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private OracleDateTimeUnit unit;
@@ -24,7 +24,7 @@ import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleGroupComparisonCondition extends SQLExprImpl {
public class OracleGroupComparisonCondition extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private final List<SQLExpr> exprList = new ArrayList<SQLExpr>();
@@ -23,7 +23,7 @@ import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleGroupingSetsExpr extends SQLExprImpl {
public class OracleGroupingSetsExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private final List<SQLExpr> items = new ArrayList<SQLExpr>();
@@ -20,7 +20,7 @@ import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleIntervalExpr extends SQLLiteralExpr {
public class OracleIntervalExpr extends SQLLiteralExpr implements OracleExpr {
private static final long serialVersionUID = 1L;
private SQLExpr value;
@@ -0,0 +1,15 @@
package com.alibaba.druid.sql.dialect.oracle.ast.expr;
import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleIsSetExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
@Override
protected void accept0(SQLASTVisitor visitor) {
}
}
@@ -20,7 +20,7 @@ import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleOuterExpr extends SQLExprImpl {
public class OracleOuterExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private SQLExpr expr;
@@ -5,7 +5,7 @@ import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OraclePriorExpr extends SQLExprImpl {
public class OraclePriorExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private SQLExpr expr;
@@ -20,7 +20,7 @@ import com.alibaba.druid.sql.ast.SQLExprImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleTableCollectionExpr extends SQLExprImpl {
public class OracleTableCollectionExpr extends SQLExprImpl implements OracleExpr {
private static final long serialVersionUID = 1L;
private SQLExpr expr;
@@ -19,7 +19,7 @@ import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class OracleTimestampExpr extends SQLLiteralExpr {
public class OracleTimestampExpr extends SQLLiteralExpr implements OracleExpr {
private static final long serialVersionUID = 1L;
private String literal;
@@ -17,9 +17,9 @@ package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
public abstract class OracleConstraint extends OracleSQLObject {
public abstract class OracleConstraint extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -20,10 +20,10 @@ import java.util.List;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.SQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class OracleSelectForUpdate extends OracleSQLObject {
public class OracleSelectForUpdate extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -16,10 +16,10 @@
package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class OracleSelectHierachicalQueryClause extends OracleSQLObject {
public class OracleSelectHierachicalQueryClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -19,7 +19,7 @@ import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public class OracleSelectPivot extends OracleSelectPivotBase {
@@ -65,7 +65,7 @@ public class OracleSelectPivot extends OracleSelectPivotBase {
this.xml = xml;
}
public static class Item extends OracleSQLObject {
public static class Item extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -19,9 +19,9 @@ import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
public abstract class OracleSelectPivotBase extends OracleSQLObject {
public abstract class OracleSelectPivotBase extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -15,10 +15,10 @@
*/
package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
public abstract class OracleSelectRestriction extends OracleSQLObject {
public abstract class OracleSelectRestriction extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -15,9 +15,9 @@
*/
package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
public abstract class OracleUpdateSetClause extends OracleSQLObject {
public abstract class OracleUpdateSetClause extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;
@@ -15,9 +15,9 @@
*/
package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject;
import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
public abstract class OracleUpdateSetListItem extends OracleSQLObject {
public abstract class OracleUpdateSetListItem extends OracleSQLObjectImpl {
private static final long serialVersionUID = 1L;