1 package org.exolab.castor.xml.schema;
2
3 import org.exolab.castor.xml.Serializer;
4 import org.xml.sax.Parser;
5
6 /**
7 * Represents an execution context for schema reading/writing activities.
8 *
9 * @author <a href="mailto:wguttmn AT codehaus DOT org">Werner Guttmann</a>
10 * @version $Revision: 7273 $ $Date: 2004-10-05 14:27:10 -0600 (Tue, 05 Oct 2004) $
11 *
12 * @since 1.2
13 */
14 public interface SchemaContext {
15
16 /**
17 * To get the {@link Resolver} to use in Schema*.
18 *
19 * @return get the {@link Resolver} to use in Schema*
20 */
21 Resolver getSchemaResolver();
22
23 /**
24 * To set the {@link Resolver} for Schema*.
25 *
26 * @param schemaResolver the {@link Resolver} for Schema*
27 */
28 void setSchemaResolver(Resolver resolver);
29
30 /**
31 * Return an XML document parser as specified in the configuration file.
32 *
33 * @return A suitable XML parser
34 */
35 // TODO[WG, 1.3.4] REFACTOR with InternalContext
36 Parser getParser();
37
38 /**
39 * Returns a default serializer for producing an XML document. The caller can specify an
40 * alternative output format, may reuse this serializer across several streams, and may serialize
41 * both DOM and SAX events. If such control is not required, it is recommended to call one of the
42 * other two methods.
43 *
44 * @return A suitable serializer
45 */
46 // TODO[WG, 1.3.4] REFACTOR with InternalContext
47 Serializer getSerializer();
48
49 }