13f70d08442fadd8f2af225f86ca2a41334182decBen Gruver/*
23f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * Copyright 2012, Google Inc.
33f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * All rights reserved.
43f70d08442fadd8f2af225f86ca2a41334182decBen Gruver *
53f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * Redistribution and use in source and binary forms, with or without
63f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * modification, are permitted provided that the following conditions are
73f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * met:
83f70d08442fadd8f2af225f86ca2a41334182decBen Gruver *
93f70d08442fadd8f2af225f86ca2a41334182decBen Gruver *     * Redistributions of source code must retain the above copyright
103f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * notice, this list of conditions and the following disclaimer.
113f70d08442fadd8f2af225f86ca2a41334182decBen Gruver *     * Redistributions in binary form must reproduce the above
123f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * copyright notice, this list of conditions and the following disclaimer
133f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * in the documentation and/or other materials provided with the
143f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * distribution.
153f70d08442fadd8f2af225f86ca2a41334182decBen Gruver *     * Neither the name of Google Inc. nor the names of its
163f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * contributors may be used to endorse or promote products derived from
173f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * this software without specific prior written permission.
183f70d08442fadd8f2af225f86ca2a41334182decBen Gruver *
193f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
203f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
213f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
223f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
233f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
243f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
253f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
263f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
273f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
283f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
293f70d08442fadd8f2af225f86ca2a41334182decBen Gruver * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
303f70d08442fadd8f2af225f86ca2a41334182decBen Gruver */
313f70d08442fadd8f2af225f86ca2a41334182decBen Gruver
323f70d08442fadd8f2af225f86ca2a41334182decBen Gruverpackage org.jf.util;
333f70d08442fadd8f2af225f86ca2a41334182decBen Gruver
343f70d08442fadd8f2af225f86ca2a41334182decBen Gruverimport java.io.IOException;
353f70d08442fadd8f2af225f86ca2a41334182decBen Gruverimport java.io.Writer;
363f70d08442fadd8f2af225f86ca2a41334182decBen Gruver
373f70d08442fadd8f2af225f86ca2a41334182decBen Gruverpublic class CommentingIndentingWriter extends IndentingWriter {
383f70d08442fadd8f2af225f86ca2a41334182decBen Gruver    private final String commentStr;
393f70d08442fadd8f2af225f86ca2a41334182decBen Gruver
403f70d08442fadd8f2af225f86ca2a41334182decBen Gruver    public CommentingIndentingWriter(Writer writer, String commentStr) {
413f70d08442fadd8f2af225f86ca2a41334182decBen Gruver        super(writer);
423f70d08442fadd8f2af225f86ca2a41334182decBen Gruver        this.commentStr = commentStr;
433f70d08442fadd8f2af225f86ca2a41334182decBen Gruver    }
443f70d08442fadd8f2af225f86ca2a41334182decBen Gruver
453f70d08442fadd8f2af225f86ca2a41334182decBen Gruver    protected void writeLineStart() throws IOException {
463f70d08442fadd8f2af225f86ca2a41334182decBen Gruver        writer.write(commentStr);
473f70d08442fadd8f2af225f86ca2a41334182decBen Gruver    }
483f70d08442fadd8f2af225f86ca2a41334182decBen Gruver}
49