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