2 * Copyright (C) 2014, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
6 * The Java Pathfinder core (jpf-core) platform is licensed under the
7 * Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0.
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 package gov.nasa.jpf.util;
21 import java.io.PrintWriter;
24 * a common base for printers that need to keep track of indentation levels
26 public abstract class StructuredPrinter {
28 protected PrintWriter pw;
30 protected int indentLevel = 0;
31 protected String indent = "";
33 protected StructuredPrinter(){
34 pw = new PrintWriter(System.out, true);
37 protected StructuredPrinter (PrintWriter pw){
41 protected void incIndent(){
46 protected void decIndent(){
53 protected String indent(){
61 StringBuilder sb = new StringBuilder();
62 for (int i=0; i<indentLevel; i++){
69 protected void printSectionHeader(String id){
71 pw.print("--------------------------------------------------- ");