/**
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* jAstyle library.
*
* Copyright (C) 2009 by Hector Suarez Barenca http://barenca.net
* <http://www.gnu.org/licenses/lgpl-3.0.html>
*
* This file is a part of jAstyle library - an indentation and
* reformatting library for C, C++, C# and Java source files.
* <http://jastyle.sourceforge.net>
*
* jAstyle is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* jAstyle is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with jAstyle. If not, see <http://www.gnu.org/licenses/>.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
package decompsource.com.github.abrarsyed.jastyle;
import java.io.*;
public class FormatterHelper
{
/**
* Returns the formatted version of the source code
*
* @param in The reader of the original source code (this reader will be closed)
* @param formatter The formatter to use
* @return String
*/
public static String format(Reader in, ASFormatter formatter)
{
ASStreamIterator streamIterator = new ASStreamIterator(in);
formatter.init(streamIterator);
StringWriter writer = new StringWriter();
PrintWriter out = new PrintWriter(writer);
// format the file
while (formatter.hasMoreLines())
{
out.println(formatter.nextLine().toString());
}
out.flush();
out.close();
try
{
in.close();
}
catch (IOException e)
{
throw new RuntimeException(e.getCause());
}
return writer.toString();
}
/**
* Returns the formatted version of the source code
*
* @param in The reader of the original source code (this reader will be closed)
* @param formatter The formatter to use
* @param writer The writer where thw output will be written
*/
public static void format(Reader in, ASFormatter formatter, Writer writer)
{
ASStreamIterator streamIterator = new ASStreamIterator(in);
formatter.init(streamIterator);
PrintWriter out = new PrintWriter(writer);
// format the file
while (formatter.hasMoreLines())
{
out.println(formatter.nextLine().toString());
}
out.flush();
out.close();
try
{
in.close();
}
catch (IOException e)
{
throw new RuntimeException(e.getCause());
}
}
}