📄 unmarshallingcontext.java
字号:
//// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.4-b18-fcs // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2005.07.17 at 02:33:01 EDT //package jwsgrid.xsd.schedqueryresult.impl.runtime;import javax.xml.bind.ValidationEvent;import javax.xml.namespace.NamespaceContext;import org.xml.sax.Attributes;import org.xml.sax.Locator;import org.xml.sax.SAXException;import com.sun.xml.bind.unmarshaller.Tracer;/** * Methods exposed by the unmarshalling coordinator object * to the generated code. * * This interface will be implemented by the coordinator, which * converts whatever events (e.g., SAX) into unmarshalling events. * * <p> * Errors detected by the AbstractUnmarshallingEventHandlerImpl-derived classes should * be either thrown as {@link UnrepotedException} or reported through * the handleEvent method of this interface. * * @author * <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a> */public interface UnmarshallingContext extends NamespaceContext{ /** Obtains a reference to the current grammar info. */ GrammarInfo getGrammarInfo(); /** * Pushes the current content handler into the stack * and registers the newly specified content handler so * that it can receive SAX events. * * @param memento * When this newly specified handler will be removed from the stack, * the leaveChild event will be fired to the parent handler * with this memento. */ void pushContentHandler( UnmarshallingEventHandler handler, int memento ); /** * Pops a content handler from the stack and registers * it as the current content handler. * * <p> * This method will also fire the leaveChild event with the * associated memento. */ void popContentHandler() throws SAXException; /** * Gets the current handler. */ UnmarshallingEventHandler getCurrentHandler(); /** * Returns a list of prefixes newly declared on this element. * * This method has to be called after the {@link #pushAttributes} * method is called. * * @return * A possible zero-length array of prefixes. The default prefix * is represented by the empty string. */ String[] getNewlyDeclaredPrefixes(); /** * Returns a list of all in-scope prefixes. * * @return * A possible zero-length array of prefixes. The default prefix * is represented by the empty string. */ String[] getAllDeclaredPrefixes(); /** * Stores a new attribute set. * This method should be called by the generated code * when it "eats" an enterElement event. * * @param collectText * false if the context doesn't need to fire text events * for texts inside this element. True otherwise. */ void pushAttributes( Attributes atts, boolean collectText ); /** * Discards the previously stored attribute set. * This method should be called by the generated code * when it "eats" a leaveElement event. */ void popAttributes(); /** * Gets the index of the attribute with the specified name. * This is usually faster when you only need to test with * a simple name. * * @return * -1 if not found. */ int getAttribute( String uri, String name ); /** * Gets all the unconsumed attributes. * If you need to find attributes based on more complex filter, * you need to use this method. */ Attributes getUnconsumedAttributes(); /** * Fires an attribute event for the specified attribute, * and marks the attribute as "used". */ void consumeAttribute( int idx ) throws SAXException; /** * Marks the attribute as "used" and return the value of the attribute. */ String eatAttribute( int idx ) throws SAXException; /** * Adds a job that will be executed at the last of the unmarshalling. * This method is used to support ID/IDREF feature, but it can be used * for other purposes as well. * * @param job * The run method of this object is called. */ void addPatcher( Runnable job ); // the patcher can throw JAXBException? /** * Adds the object which is currently being unmarshalled * to the ID table. * * @return * Returns the value passed as the parameter. * This is a hack, but this makes it easier for ID * transducer to do its job. */ String addToIdTable( String id ); // // throwing an exception is one way. Overwriting the previous one // is another way. The latter allows us to process invalid documents, // while the former makes it impossible to handle them. // // I prefer to be flexible in terms of invalid document handling, // so chose not to throw an exception. // // I believe this is an implementation choice, not the spec issue. // -kk /** * Looks up the ID table and gets associated object. * * @return * If there is no object associated with the given id, * this method returns null. */ Object getObjectFromId( String id ); // if we don't find ID. /** * Gets the current source location information. */ Locator getLocator(); /** * Reports an error to the user, and asks if s/he wants * to recover. If the canRecover flag is false, regardless * of the client instruction, an exception will be thrown. * * Only if the flag is true and the user wants to recover from an error, * the method returns normally. * * The thrown exception will be catched by the unmarshaller. */ void handleEvent( ValidationEvent event, boolean canRecover ) throws SAXException; ////// the copy of the org.relaxng.datatype.ValidationContext interface.//// this interface doesn't derive from that interface so that we don't have// a direct dependency to it, but we provide the same functionality so that// we can adopt this interface into the ValidationContext interface.//// see the ValidationContextAdaptor class. String resolveNamespacePrefix( String prefix ); String getBaseUri(); boolean isUnparsedEntity( String entityName ); boolean isNotation( String notationName ); // DBG /** * Gets a tracer object. * * Tracer can be used to trace the unmarshalling behavior. * Note that to debug the unmarshalling process, * you have to configure XJC so that it will emit trace codes * in the unmarshaller. */ Tracer getTracer();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -