/******************************************************************************* * Copyright 2012-present Pixate, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ /** * Copyright (c) 2012 Pixate, Inc. All rights reserved. */ package com.pixate.freestyle.parsing; public class PXSourceWriter { private String currentIndent; private String indentString; private StringBuilder builder; public PXSourceWriter() { currentIndent = ""; indentString = " "; builder = new StringBuilder(); } public void increaseIndent() { currentIndent += indentString; } public void decreaseIndent() { if (currentIndent.length() > indentString.length()) { currentIndent = currentIndent.substring(0, currentIndent.length() - indentString.length()); } } public void printIndent() { if (currentIndent.length() > 0) { builder.append(currentIndent); } } public void printWithIndent(String text) { printIndent(); print(text); } public void printWithIndent(char character) { printIndent(); builder.append(character); } public void print(Object obj) { if (obj != null) { builder.append(obj); } } public void print(String text) { if (text != null) { builder.append(text); } } public void print(char character) { builder.append(character); } public void println() { builder.append('\n'); } public void println(String text) { print(text); println(); } public void println(char character) { builder.append(character); println(); } /* * (non-Javadoc) * * @see java.lang.Object#toString() */ @Override public String toString() { return builder.toString(); } }