.class public Lcom/thoughtworks/xstream/io/xml/DomDriver; .super Lcom/thoughtworks/xstream/io/xml/AbstractXmlDriver; .source "DomDriver.java" # instance fields .field private final documentBuilderFactory:Ljavax/xml/parsers/DocumentBuilderFactory; .field private final encoding:Ljava/lang/String; # direct methods .method public constructor ()V .locals 1 const/4 v0, 0x0 .line 1 invoke-direct {p0, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->(Ljava/lang/String;)V return-void .end method .method public constructor (Ljava/lang/String;)V .locals 1 .line 2 new-instance v0, Lcom/thoughtworks/xstream/io/xml/XmlFriendlyNameCoder; invoke-direct {v0}, Lcom/thoughtworks/xstream/io/xml/XmlFriendlyNameCoder;->()V invoke-direct {p0, p1, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->(Ljava/lang/String;Lcom/thoughtworks/xstream/io/naming/NameCoder;)V return-void .end method .method public constructor (Ljava/lang/String;Lcom/thoughtworks/xstream/io/naming/NameCoder;)V .locals 0 .line 3 invoke-direct {p0, p2}, Lcom/thoughtworks/xstream/io/xml/AbstractXmlDriver;->(Lcom/thoughtworks/xstream/io/naming/NameCoder;)V .line 4 invoke-static {}, Ljavax/xml/parsers/DocumentBuilderFactory;->newInstance()Ljavax/xml/parsers/DocumentBuilderFactory; move-result-object p2 iput-object p2, p0, Lcom/thoughtworks/xstream/io/xml/DomDriver;->documentBuilderFactory:Ljavax/xml/parsers/DocumentBuilderFactory; .line 5 iput-object p1, p0, Lcom/thoughtworks/xstream/io/xml/DomDriver;->encoding:Ljava/lang/String; return-void .end method .method public constructor (Ljava/lang/String;Lcom/thoughtworks/xstream/io/xml/XmlFriendlyReplacer;)V .locals 0 .line 6 invoke-direct {p0, p1, p2}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->(Ljava/lang/String;Lcom/thoughtworks/xstream/io/naming/NameCoder;)V return-void .end method .method private createReader(Lorg/xml/sax/InputSource;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; .locals 2 .line 5 :try_start_0 iget-object v0, p0, Lcom/thoughtworks/xstream/io/xml/DomDriver;->documentBuilderFactory:Ljavax/xml/parsers/DocumentBuilderFactory; invoke-virtual {v0}, Ljavax/xml/parsers/DocumentBuilderFactory;->newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder; move-result-object v0 .line 6 iget-object v1, p0, Lcom/thoughtworks/xstream/io/xml/DomDriver;->encoding:Ljava/lang/String; if-eqz v1, :cond_0 .line 7 invoke-virtual {p1, v1}, Lorg/xml/sax/InputSource;->setEncoding(Ljava/lang/String;)V .line 8 :cond_0 invoke-virtual {v0, p1}, Ljavax/xml/parsers/DocumentBuilder;->parse(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document; move-result-object p1 .line 9 new-instance v0, Lcom/thoughtworks/xstream/io/xml/DomReader; invoke-virtual {p0}, Lcom/thoughtworks/xstream/io/AbstractDriver;->getNameCoder()Lcom/thoughtworks/xstream/io/naming/NameCoder; move-result-object v1 invoke-direct {v0, p1, v1}, Lcom/thoughtworks/xstream/io/xml/DomReader;->(Lorg/w3c/dom/Document;Lcom/thoughtworks/xstream/io/naming/NameCoder;)V :try_end_0 .catch Ljavax/xml/parsers/FactoryConfigurationError; {:try_start_0 .. :try_end_0} :catch_3 .catch Ljavax/xml/parsers/ParserConfigurationException; {:try_start_0 .. :try_end_0} :catch_2 .catch Lorg/xml/sax/SAXException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 move-exception p1 .line 10 new-instance v0, Lcom/thoughtworks/xstream/io/StreamException; invoke-direct {v0, p1}, Lcom/thoughtworks/xstream/io/StreamException;->(Ljava/lang/Throwable;)V throw v0 :catch_1 move-exception p1 .line 11 new-instance v0, Lcom/thoughtworks/xstream/io/StreamException; invoke-direct {v0, p1}, Lcom/thoughtworks/xstream/io/StreamException;->(Ljava/lang/Throwable;)V throw v0 :catch_2 move-exception p1 .line 12 new-instance v0, Lcom/thoughtworks/xstream/io/StreamException; invoke-direct {v0, p1}, Lcom/thoughtworks/xstream/io/StreamException;->(Ljava/lang/Throwable;)V throw v0 :catch_3 move-exception p1 .line 13 new-instance v0, Lcom/thoughtworks/xstream/io/StreamException; invoke-direct {v0, p1}, Lcom/thoughtworks/xstream/io/StreamException;->(Ljava/lang/Throwable;)V throw v0 .end method # virtual methods .method public createReader(Ljava/io/File;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; .locals 1 .line 4 new-instance v0, Lorg/xml/sax/InputSource; invoke-virtual {p1}, Ljava/io/File;->toURI()Ljava/net/URI; move-result-object p1 invoke-virtual {p1}, Ljava/net/URI;->toASCIIString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Lorg/xml/sax/InputSource;->(Ljava/lang/String;)V invoke-direct {p0, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->createReader(Lorg/xml/sax/InputSource;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; move-result-object p1 return-object p1 .end method .method public createReader(Ljava/io/InputStream;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; .locals 1 .line 2 new-instance v0, Lorg/xml/sax/InputSource; invoke-direct {v0, p1}, Lorg/xml/sax/InputSource;->(Ljava/io/InputStream;)V invoke-direct {p0, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->createReader(Lorg/xml/sax/InputSource;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; move-result-object p1 return-object p1 .end method .method public createReader(Ljava/io/Reader;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; .locals 1 .line 1 new-instance v0, Lorg/xml/sax/InputSource; invoke-direct {v0, p1}, Lorg/xml/sax/InputSource;->(Ljava/io/Reader;)V invoke-direct {p0, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->createReader(Lorg/xml/sax/InputSource;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; move-result-object p1 return-object p1 .end method .method public createReader(Ljava/net/URL;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; .locals 1 .line 3 new-instance v0, Lorg/xml/sax/InputSource; invoke-virtual {p1}, Ljava/net/URL;->toExternalForm()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Lorg/xml/sax/InputSource;->(Ljava/lang/String;)V invoke-direct {p0, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->createReader(Lorg/xml/sax/InputSource;)Lcom/thoughtworks/xstream/io/HierarchicalStreamReader; move-result-object p1 return-object p1 .end method .method public createWriter(Ljava/io/OutputStream;)Lcom/thoughtworks/xstream/io/HierarchicalStreamWriter; .locals 2 .line 2 :try_start_0 iget-object v0, p0, Lcom/thoughtworks/xstream/io/xml/DomDriver;->encoding:Ljava/lang/String; if-eqz v0, :cond_0 new-instance v0, Ljava/io/OutputStreamWriter; iget-object v1, p0, Lcom/thoughtworks/xstream/io/xml/DomDriver;->encoding:Ljava/lang/String; invoke-direct {v0, p1, v1}, Ljava/io/OutputStreamWriter;->(Ljava/io/OutputStream;Ljava/lang/String;)V goto :goto_0 :cond_0 new-instance v0, Ljava/io/OutputStreamWriter; invoke-direct {v0, p1}, Ljava/io/OutputStreamWriter;->(Ljava/io/OutputStream;)V :goto_0 invoke-virtual {p0, v0}, Lcom/thoughtworks/xstream/io/xml/DomDriver;->createWriter(Ljava/io/Writer;)Lcom/thoughtworks/xstream/io/HierarchicalStreamWriter; move-result-object p1 :try_end_0 .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0 return-object p1 :catch_0 move-exception p1 .line 3 new-instance v0, Lcom/thoughtworks/xstream/io/StreamException; invoke-direct {v0, p1}, Lcom/thoughtworks/xstream/io/StreamException;->(Ljava/lang/Throwable;)V throw v0 .end method .method public createWriter(Ljava/io/Writer;)Lcom/thoughtworks/xstream/io/HierarchicalStreamWriter; .locals 2 .line 1 new-instance v0, Lcom/thoughtworks/xstream/io/xml/PrettyPrintWriter; invoke-virtual {p0}, Lcom/thoughtworks/xstream/io/AbstractDriver;->getNameCoder()Lcom/thoughtworks/xstream/io/naming/NameCoder; move-result-object v1 invoke-direct {v0, p1, v1}, Lcom/thoughtworks/xstream/io/xml/PrettyPrintWriter;->(Ljava/io/Writer;Lcom/thoughtworks/xstream/io/naming/NameCoder;)V return-object v0 .end method