New One-Click Root and Recovery for Original Transformer - XDA Developers
The XmlInputTransformer is instantiated from a standard Metacard and typically a Metacard MetacardType. The transformer has access to the MetacardType, the Metacard instance and an XMLStreamReader via the XmlStreamReader interface. The XmlStreamReader interface provides a XMLReader which can be used to parse XML documents. To allow for state-safe SaxEventHandlers all SaxEventHandlers in the XMLStreamReader are state-safe, meaning that they can be safely used in a multithreaded environment. Each SaxEventHandler may be multi-thread safe or single-thread safe.
1-Click Transformer Root 1.1.720l
DDF does not check the AbstractTransformer to make sure that the SaxEventHandlers are state-safe. The Transformer does not need to parse the XML. Since most transformers are state-safe (data is safely read in on demand) the Transformer can and should be as simple as possible.
The XMLStreamReader used to parse the XML can be configured to provide it's own SAX parser or SAX listener. The Transformer can be configured to use a SAXEventHandler that listens to events on the XMLStreamReader and then applies a SaxEventHandlerFactory. The transformer will only use the SAXEventHandlers that are being explicitly requested for a specific XML document type.
In the MetacardMetadataImpl bundle, there is an XmlInputTransformerFactory. A factory can be registered with a meta-type, specifying one or more SaxEventHandlerFactorys it can create. The factory can create a DynamicMetacardType to be used by the transformer. The DynamicMetacardType will be able to identify the datatypes it can use for its AbstractTransformer.