.class public abstract Lcom/google/common/io/CharSink; .super Ljava/lang/Object; .source "CharSink.java" # annotations .annotation runtime Lcom/google/common/io/ElementTypesAreNonnullByDefault; .end annotation # direct methods .method protected constructor ()V .locals 0 .line 55 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public openBufferedStream()Ljava/io/Writer; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 79 invoke-virtual {p0}, Lcom/google/common/io/CharSink;->openStream()Ljava/io/Writer; move-result-object p0 .line 80 instance-of v0, p0, Ljava/io/BufferedWriter; if-eqz v0, :cond_0 .line 81 check-cast p0, Ljava/io/BufferedWriter; goto :goto_0 .line 82 :cond_0 new-instance v0, Ljava/io/BufferedWriter; invoke-direct {v0, p0}, Ljava/io/BufferedWriter;->(Ljava/io/Writer;)V move-object p0, v0 :goto_0 return-object p0 .end method .method public abstract openStream()Ljava/io/Writer; .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .end method .method public write(Ljava/lang/CharSequence;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 91 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 93 invoke-static {}, Lcom/google/common/io/Closer;->create()Lcom/google/common/io/Closer; move-result-object v0 .line 95 :try_start_0 invoke-virtual {p0}, Lcom/google/common/io/CharSink;->openStream()Ljava/io/Writer; move-result-object p0 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->register(Ljava/io/Closeable;)Ljava/io/Closeable; move-result-object p0 check-cast p0, Ljava/io/Writer; .line 96 invoke-virtual {p0, p1}, Ljava/io/Writer;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; .line 97 invoke-virtual {p0}, Ljava/io/Writer;->flush()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 101 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V return-void :catchall_0 move-exception p0 .line 99 :try_start_1 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->rethrow(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p0 throw p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception p0 .line 101 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V .line 102 throw p0 .end method .method public writeFrom(Ljava/lang/Readable;)J .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 151 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 153 invoke-static {}, Lcom/google/common/io/Closer;->create()Lcom/google/common/io/Closer; move-result-object v0 .line 155 :try_start_0 invoke-virtual {p0}, Lcom/google/common/io/CharSink;->openStream()Ljava/io/Writer; move-result-object p0 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->register(Ljava/io/Closeable;)Ljava/io/Closeable; move-result-object p0 check-cast p0, Ljava/io/Writer; .line 156 invoke-static {p1, p0}, Lcom/google/common/io/CharStreams;->copy(Ljava/lang/Readable;Ljava/lang/Appendable;)J move-result-wide v1 .line 157 invoke-virtual {p0}, Ljava/io/Writer;->flush()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 162 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V return-wide v1 :catchall_0 move-exception p0 .line 160 :try_start_1 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->rethrow(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p0 throw p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception p0 .line 162 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V .line 163 throw p0 .end method .method public writeLines(Ljava/lang/Iterable;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+", "Ljava/lang/CharSequence;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, "line.separator" .line 113 invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-virtual {p0, p1, v0}, Lcom/google/common/io/CharSink;->writeLines(Ljava/lang/Iterable;Ljava/lang/String;)V return-void .end method .method public writeLines(Ljava/lang/Iterable;Ljava/lang/String;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+", "Ljava/lang/CharSequence;", ">;", "Ljava/lang/String;", ")V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 124 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 125 invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 127 invoke-static {}, Lcom/google/common/io/Closer;->create()Lcom/google/common/io/Closer; move-result-object v0 .line 129 :try_start_0 invoke-virtual {p0}, Lcom/google/common/io/CharSink;->openBufferedStream()Ljava/io/Writer; move-result-object p0 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->register(Ljava/io/Closeable;)Ljava/io/Closeable; move-result-object p0 check-cast p0, Ljava/io/Writer; .line 130 invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/CharSequence; .line 131 invoke-virtual {p0, v1}, Ljava/io/Writer;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; move-result-object v1 invoke-virtual {v1, p2}, Ljava/io/Writer;->append(Ljava/lang/CharSequence;)Ljava/io/Writer; goto :goto_0 .line 133 :cond_0 invoke-virtual {p0}, Ljava/io/Writer;->flush()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 137 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V return-void :catchall_0 move-exception p0 .line 135 :try_start_1 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->rethrow(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p0 throw p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception p0 .line 137 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V .line 138 throw p0 .end method