01: /*
02:
03: Derby - Class org.apache.derby.iapi.sql.execute.ExecutionStmtValidator
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.iapi.sql.execute;
23:
24: import org.apache.derby.iapi.error.StandardException;
25: import org.apache.derby.iapi.sql.execute.ConstantAction;
26:
27: /**
28: * An ExecutionStatementValidator is an object that is
29: * handed a ConstantAction and asked whether it is ok for
30: * this result set to execute. When something like
31: * a trigger is executing, one of these gets pushed.
32: * Before execution, each validator that has been pushed
33: * is invoked on the result set that we are about to
34: * execution. It is up to the validator to look at
35: * the result set and either complain (throw an exception)
36: * or let it through.
37: *
38: * @author jamie
39: */
40: public interface ExecutionStmtValidator {
41: /**
42: * Validate the statement.
43: *
44: * @param constantAction The constant action that we are about to execute.
45: *
46: * @exception StandardException on error
47: *
48: * @see ConstantAction
49: */
50: public void validateStatement(ConstantAction constantAction)
51: throws StandardException;
52: }
|