01: //
02: // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.5-b16-fcs
03: // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
04: // Any modifications to this file will be lost upon recompilation of the source schema.
05: // Generated on: 2005.12.17 at 09:43:27 AM GMT+07:00
06: //
07:
08: package com.mvnforum.jaxb.db.impl.runtime;
09:
10: import javax.xml.bind.JAXBException;
11:
12: /**
13: * Keeps the information about the grammar as a whole.
14: *
15: * Implementation of this interface is provided by the generated code.
16: *
17: * @author
18: * <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
19: */
20: public interface GrammarInfo {
21: /**
22: * Creates an unmarshaller that can unmarshal a given element.
23: *
24: * @param namespaceUri
25: * The string needs to be interned by the caller
26: * for a performance reason.
27: * @param localName
28: * The string needs to be interned by the caller
29: * for a performance reason.
30: *
31: * @return
32: * null if the given name pair is not recognized.
33: */
34: UnmarshallingEventHandler createUnmarshaller(String namespaceUri,
35: String localName, UnmarshallingContext context);
36:
37: /**
38: * Creates an instance for the root element.
39: *
40: * @return
41: * null if the given name pair is not recognized.
42: */
43: Class getRootElement(String namespaceUri, String localName);
44:
45: /**
46: * Return the probe points for this GrammarInfo, which are used to detect
47: * {namespaceURI,localName} collisions across the GrammarInfo's on the
48: * schemaPath. This is a slightly more complex implementation than a simple
49: * hashmap, but it is more flexible in supporting additional schema langs.
50: */
51: String[] getProbePoints();
52:
53: /**
54: * Returns true if the invocation of the createUnmarshaller method
55: * will return a non-null value for the given name pair.
56: *
57: * @param nsUri
58: * The string needs to be interned by the caller
59: * for a performance reason.
60: * @param localName
61: * The string needs to be interned by the caller
62: * for a performance reason.
63: */
64: boolean recognize(String nsUri, String localName);
65:
66: /**
67: * Gets the default implementation for the given public content
68: * interface.
69: *
70: * @param javaContentInterface
71: * the Class object of the public interface.
72: *
73: * @return null
74: * If the interface is not found.
75: */
76: Class getDefaultImplementation(Class javaContentInterface);
77:
78: /**
79: * Gets the MSV AGM which can be used to validate XML during
80: * marshalling/unmarshalling.
81: */
82: com.sun.msv.grammar.Grammar getGrammar() throws JAXBException;
83:
84: XMLSerializable castToXMLSerializable(Object o);
85:
86: ValidatableObject castToValidatableObject(Object o);
87: }
|