001// 002// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:15 PM(kohsuke)-fcs 003// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 004// Any modifications to this file will be lost upon recompilation of the source schema. 005// Generated on: 2012.10.03 at 04:27:47 AM CEST 006// 007 008package org.jdtaus.mojo.resource.model.impl.runtime; 009 010import javax.xml.bind.JAXBException; 011 012/** 013 * Keeps the information about the grammar as a whole. 014 * 015 * Implementation of this interface is provided by the generated code. 016 * 017 * @author 018 * <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a> 019 */ 020public interface GrammarInfo 021{ 022 /** 023 * Creates an unmarshaller that can unmarshal a given element. 024 * 025 * @param namespaceUri 026 * The string needs to be interned by the caller 027 * for a performance reason. 028 * @param localName 029 * The string needs to be interned by the caller 030 * for a performance reason. 031 * 032 * @return 033 * null if the given name pair is not recognized. 034 */ 035 UnmarshallingEventHandler createUnmarshaller( 036 String namespaceUri, String localName, UnmarshallingContext context ); 037 038 /** 039 * Creates an instance for the root element. 040 * 041 * @return 042 * null if the given name pair is not recognized. 043 */ 044 Class getRootElement(String namespaceUri, String localName); 045 046 /** 047 * Return the probe points for this GrammarInfo, which are used to detect 048 * {namespaceURI,localName} collisions across the GrammarInfo's on the 049 * schemaPath. This is a slightly more complex implementation than a simple 050 * hashmap, but it is more flexible in supporting additional schema langs. 051 */ 052 String[] getProbePoints(); 053 054 /** 055 * Returns true if the invocation of the createUnmarshaller method 056 * will return a non-null value for the given name pair. 057 * 058 * @param nsUri 059 * The string needs to be interned by the caller 060 * for a performance reason. 061 * @param localName 062 * The string needs to be interned by the caller 063 * for a performance reason. 064 */ 065 boolean recognize( String nsUri, String localName ); 066 067 /** 068 * Gets the default implementation for the given public content 069 * interface. 070 * 071 * @param javaContentInterface 072 * the Class object of the public interface. 073 * 074 * @return null 075 * If the interface is not found. 076 */ 077 Class getDefaultImplementation( Class javaContentInterface ); 078 079 /** 080 * Gets the MSV AGM which can be used to validate XML during 081 * marshalling/unmarshalling. 082 */ 083 com.sun.msv.grammar.Grammar getGrammar() throws JAXBException; 084 085 086 XMLSerializable castToXMLSerializable( Object o ); 087 088 089 ValidatableObject castToValidatableObject(Object o); 090}