/**\r
- * ============LICENSE_START====================================================\r
- * org.onap.aaf\r
- * ===========================================================================\r
- * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
- * ===========================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END====================================================\r
+ * ============LICENSE_START==================================================== org.onap.aaf\r
+ * =========================================================================== Copyright (c) 2018 AT&T Intellectual\r
+ * Property. All rights reserved. =========================================================================== Licensed\r
+ * under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at\r
*\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r
+ * specific language governing permissions and limitations under the License. ============LICENSE_END====================================================\r
*/\r
\r
package org.onap.aaf.misc.env.util;\r
\r
/**\r
* @author Jonathan\r
- * \r
+ *\r
* Catch \n and indent according to current indent levels of JavaGen\r
*/\r
public class IndentPrintWriter extends PrintWriter {\r
- public static int INDENT = 2;\r
- private boolean addIndent;\r
- private int indent;\r
- private int col;\r
-\r
- public IndentPrintWriter(Writer out) {\r
- super(out);\r
- addIndent = false;\r
- indent = col = 0;\r
- }\r
- \r
- public IndentPrintWriter(OutputStream out) {\r
- super(out);\r
- addIndent = false;\r
- indent = col = 0;\r
- }\r
+\r
+ public static final int INDENT_MULTIPLIER = 2;\r
+ private boolean addIndent;\r
+ private int indent;\r
+ private int col;\r
+\r
+ public IndentPrintWriter(Writer out) {\r
+ super(out);\r
+ addIndent = false;\r
+ indent = col = 0;\r
+ }\r
+\r
+ public IndentPrintWriter(OutputStream out) {\r
+ super(out);\r
+ addIndent = false;\r
+ indent = col = 0;\r
+ }\r
\r
\r
+ @Override\r
public void write(String str) {\r
- int len = str.length();\r
- for(int i=0;i<len;++i) {\r
- write((int)str.charAt(i));\r
- }\r
+ int len = str.length();\r
+ for (int i = 0; i < len; ++i) {\r
+ write((int) str.charAt(i));\r
+ }\r
}\r
- \r
+\r
+ @Override\r
public void println() {\r
- write((int)'\n');\r
+ write((int) '\n');\r
+ }\r
+\r
+ @Override\r
+ public void write(String str, int off, int len) {\r
+ int finalLength = Math.min(str.length(), off + len);\r
+ for (int i = off; i < finalLength; ++i) {\r
+ write((int) str.charAt(i));\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void write(int b) {\r
+ if (b == '\n') {\r
+ addIndent = true;\r
+ col = 0;\r
+ } else if (addIndent) {\r
+ addIndent = false;\r
+ toIndent();\r
+ } else {\r
+ ++col;\r
+ }\r
+ super.write(b);\r
+ }\r
+\r
+ @Override\r
+ public void write(char[] buf, int off, int len) {\r
+ for (int i = 0; i < len; ++i) {\r
+ write(buf[i] + off);\r
+ }\r
+ }\r
+\r
+ public void setIndent(int size) {\r
+ indent = size;\r
+ }\r
+\r
+ public void inc() {\r
+ ++indent;\r
+ }\r
+\r
+ public void dec() {\r
+ --indent;\r
+ }\r
+\r
+ public void toCol(int idx) {\r
+ while (idx > col++) {\r
+ super.write((int) ' ');\r
+ }\r
+ }\r
+\r
+ public int getIndent() {\r
+ return indent;\r
+ }\r
+\r
+ public void toIndent() {\r
+ int end = indent * INDENT_MULTIPLIER;\r
+ for (int i = 0; i < end; ++i) {\r
+ super.write((int) ' ');\r
+ }\r
+ col = end;\r
}\r
- public void write(String str, int off, int len) {\r
- len = Math.min(str.length(),off+len);\r
- for(int i=off;i<len;++i) {\r
- write((int)str.charAt(i));\r
- }\r
- }\r
- public void write(int b) {\r
- if (b == '\n') {\r
- addIndent = true;\r
- col = 0;\r
- } else if (addIndent) {\r
- addIndent = false;\r
- toIndent();\r
- } else {\r
- ++col;\r
- }\r
- super.write(b);\r
- }\r
-\r
- @Override\r
- public void write(char[] buf, int off, int len) {\r
- for (int i = 0; i < len; ++i)\r
- write(buf[i] + off);\r
- }\r
-\r
- public void setIndent(int size) {\r
- indent = size;\r
- }\r
-\r
- public void inc() {\r
- ++indent;\r
- }\r
- \r
- public void dec() {\r
- --indent;\r
- }\r
-\r
- public void toCol(int idx) {\r
- while(idx>col++)super.write((int)' ');\r
- }\r
-\r
- public int getIndent() {\r
- return indent;\r
- }\r
-\r
- public void toIndent() {\r
- int end = indent * INDENT;\r
- for (int i = 0; i < end; ++i) {\r
- super.write((int) ' ');\r
- }\r
- col = end;\r
- }\r
}\r