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