Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.xmlbeans
Interface XmlFactoryHook

    public interface XmlFactoryHook

A hook for the XML Bean Factory mechanism. Provided for advanced users who wish to provide their own implementation of the Factory.parse methods. This is used, for example, to defer reading XML streams until needed.

To use the hook, call XmlFactoryHook.ThreadContext.setHook(), passing your own XmlFactoryHook implementation. Then every call to a Factory method will be delgated to your hook.

     MyHook hook = new MyHook();
     XmlFactoryHook.ThreadContext.setHook(hook);
     // this results in a call to hook.parse(...)
     XmlObject.Factory.parse(new File("test.xml"));

If the hook needs to turn around and invoke the built-in parsers, then it should do so by calling the appropriate method on the passed SchemaTypeLoader. Since SchemaTypeLoader.parse() methods delegate to the registered hook, a hook that wishes to actually invoke the default parser without having itself called back again should unregister itself before calling loader.parse(), and then re-register itself again after the call.

     void parse(SchemaTypeLoader loader, ...)
     {
         XmlFactoryHook remember = XmlFactoryHook.ThreadContext.getHook();
         XmlFactoryHook.ThreadContext.setHook(null);
         loader.parse(...); // isn't hooked.
         XmlFactoryHook.ThreadContext.setHook(remember);
     }

Nested Class Summary
`static class` | `XmlFactoryHook.ThreadContext` Used to manage the XmlFactoryHook for the current thread.

Method Summary
`DOMImplementation` | `newDomImplementation(SchemaTypeLoader loader, XmlOptions options)` Hooks Factory.newDomImplementation calls
`XmlObject` | `newInstance(SchemaTypeLoader loader, SchemaType type, XmlOptions options)` Hooks Factory.newInstance calls
`XmlSaxHandler` | `newXmlSaxHandler(SchemaTypeLoader loader, SchemaType type, XmlOptions options)` Hooks Factory.newXmlSaxHandler calls
`XmlObject` | `parse(SchemaTypeLoader loader, java.io.InputStream jiois, SchemaType type, XmlOptions options)` Hooks Factory.parse calls
`XmlObject` | `parse(SchemaTypeLoader loader, Node node, SchemaType type, XmlOptions options)` Hooks Factory.parse calls
`XmlObject` | `parse(SchemaTypeLoader loader, java.io.Reader jior, SchemaType type, XmlOptions options)` Hooks Factory.parse calls
`XmlObject` | `parse(SchemaTypeLoader loader, java.lang.String xmlText, SchemaType type, XmlOptions options)` Hooks Factory.parse calls
`XmlObject` | `parse(SchemaTypeLoader loader, XMLInputStream xis, SchemaType type, XmlOptions options)` Deprecated. XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API.
`XmlObject` | `parse(SchemaTypeLoader loader, javax.xml.stream.XMLStreamReader xsr, SchemaType type, XmlOptions options)` Hooks Factory.parse calls

Method Detail

### newInstance

    XmlObject newInstance(SchemaTypeLoader loader,
                          SchemaType type,
                          XmlOptions options)

  Hooks Factory.newInstance calls

### parse

    XmlObject parse(SchemaTypeLoader loader,
                    java.lang.String xmlText,
                    SchemaType type,
                    XmlOptions options)
                    throws XmlException

  Hooks Factory.parse calls

  Throws:
    `XmlException`

### parse

    XmlObject parse(SchemaTypeLoader loader,
                    java.io.InputStream jiois,
                    SchemaType type,
                    XmlOptions options)
                    throws XmlException,
                           java.io.IOException

  Hooks Factory.parse calls

  Throws:
    `XmlException`
    `java.io.IOException`

### parse

    XmlObject parse(SchemaTypeLoader loader,
                    javax.xml.stream.XMLStreamReader xsr,
                    SchemaType type,
                    XmlOptions options)
                    throws XmlException

  Hooks Factory.parse calls

  Throws:
    `XmlException`

### parse

    XmlObject parse(SchemaTypeLoader loader,
                    java.io.Reader jior,
                    SchemaType type,
                    XmlOptions options)
                    throws XmlException,
                           java.io.IOException

  Hooks Factory.parse calls

  Throws:
    `XmlException`
    `java.io.IOException`

### parse

    XmlObject parse(SchemaTypeLoader loader,
                    Node node,
                    SchemaType type,
                    XmlOptions options)
                    throws XmlException

  Hooks Factory.parse calls

  Throws:
    `XmlException`

### parse

    XmlObject parse(SchemaTypeLoader loader,
                    XMLInputStream xis,
                    SchemaType type,
                    XmlOptions options)
                    throws XmlException,
                           XMLStreamException

  Deprecated. XMLInputStream was deprecated by XMLStreamReader from STaX - jsr173 API.

  Hooks Factory.parse calls

  Throws:
    `XmlException`
    `XMLStreamException`

### newXmlSaxHandler

    XmlSaxHandler newXmlSaxHandler(SchemaTypeLoader loader,
                                   SchemaType type,
                                   XmlOptions options)

  Hooks Factory.newXmlSaxHandler calls

### newDomImplementation

    DOMImplementation newDomImplementation(SchemaTypeLoader loader,
                                           XmlOptions options)

  Hooks Factory.newDomImplementation calls

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD