01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19: package org.apache.openjpa.jdbc.schema;
20:
21: import org.apache.openjpa.lib.meta.MetaDataParser;
22:
23: /**
24: * Interface class for parers that read schema information. Parsers
25: * will place all parsed schemas into the current {@link SchemaGroup}, set
26: * via the {@link #setSchemaGroup} method. This allows parsing of
27: * multiple files into a single schema group.
28: *
29: * @author Abe White
30: * @nojavadoc
31: */
32: public interface SchemaParser extends MetaDataParser {
33:
34: /**
35: * Delay resolution of foreign key constraints until
36: * {@link #resolveConstraints} is called. This allows you to parse
37: * multiple resources where a foreign key in one resource might refer
38: * to a table in another.
39: */
40: public boolean getDelayConstraintResolve();
41:
42: /**
43: * Delay resolution of foreign key constraints until
44: * {@link #resolveConstraints} is called. This allows you to parse
45: * multiple resources where a foreign key in one resource might refer
46: * to a table in another.
47: */
48: public void setDelayConstraintResolve(boolean delay);
49:
50: /**
51: * Return the current schema group.
52: */
53: public SchemaGroup getSchemaGroup();
54:
55: /**
56: * Set the current schema group; this clears all state from the last group.
57: */
58: public void setSchemaGroup(SchemaGroup group);
59:
60: /**
61: * If this parser is in delayed resolve mode, resolve all constraints.
62: */
63: public void resolveConstraints();
64: }
|