01: /*
02:
03: Derby - Class org.apache.derby.iapi.sql.depend.Dependency
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.depend;
23:
24: import org.apache.derby.iapi.error.StandardException;
25:
26: import org.apache.derby.catalog.UUID;
27:
28: /**
29: A dependency represents a reliance of the dependent on
30: the provider for some information the dependent contains
31: or uses. In Language, the usual case is a prepared statement
32: using information about a schema object in its executable form.
33: It needs to be notified if the schema object changes, so that
34: it can recompile against the new information.
35: */
36: public interface Dependency {
37:
38: /**
39: return the provider's key for this dependency.
40: @return the provider's key for this dependency
41: */
42: UUID getProviderKey();
43:
44: /**
45: return the provider for this dependency.
46: @return the provider for this dependency
47: */
48: Provider getProvider();
49:
50: /**
51: return the dependent for this dependency.
52: @return the dependent for this dependency
53: */
54: Dependent getDependent();
55:
56: }
|