2 * ============LICENSE_START==================================================== org.onap.aaf
\r
3 * =========================================================================== Copyright (c) 2018 AT&T Intellectual
\r
4 * Property. All rights reserved. =========================================================================== Licensed
\r
5 * under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
\r
6 * License. You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
\r
11 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
\r
12 * specific language governing permissions and limitations under the License. ============LICENSE_END====================================================
\r
15 package org.onap.aaf.misc.env.util;
\r
17 import java.io.OutputStream;
\r
18 import java.io.PrintWriter;
\r
19 import java.io.Writer;
\r
24 * Catch \n and indent according to current indent levels of JavaGen
\r
26 public class IndentPrintWriter extends PrintWriter {
\r
28 public static final int INDENT_MULTIPLIER = 2;
\r
29 private boolean addIndent;
\r
33 public IndentPrintWriter(Writer out) {
\r
39 public IndentPrintWriter(OutputStream out) {
\r
47 public void write(String str) {
\r
48 int len = str.length();
\r
49 for (int i = 0; i < len; ++i) {
\r
50 write((int) str.charAt(i));
\r
55 public void println() {
\r
60 public void write(String str, int off, int len) {
\r
61 int finalLength = Math.min(str.length(), off + len);
\r
62 for (int i = off; i < finalLength; ++i) {
\r
63 write((int) str.charAt(i));
\r
68 public void write(int b) {
\r
72 } else if (addIndent) {
\r
82 public void write(char[] buf, int off, int len) {
\r
83 for (int i = 0; i < len; ++i) {
\r
84 write(buf[i] + off);
\r
88 public void setIndent(int size) {
\r
100 public void toCol(int idx) {
\r
101 while (idx > col++) {
\r
102 super.write((int) ' ');
\r
106 public int getIndent() {
\r
110 public void toIndent() {
\r
111 int end = indent * INDENT_MULTIPLIER;
\r
112 for (int i = 0; i < end; ++i) {
\r
113 super.write((int) ' ');
\r