/******************************************************************************* * ============LICENSE_START==================================================== * * org.onap.aaf * * =========================================================================== * * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * * =========================================================================== * * 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. * * ============LICENSE_END==================================================== * * * * ECOMP is a trademark and service mark of AT&T Intellectual Property. * * ******************************************************************************/ package org.onap.aaf.xgen; import java.io.IOException; import org.onap.aaf.inno.env.APIException; import org.onap.aaf.inno.env.Env; import org.onap.aaf.inno.env.Trans; import org.onap.aaf.inno.env.util.StringBuilderWriter; import org.onap.aaf.xgen.html.State; public class XGenBuff> { private G xgen; private StringBuilder sb; // private String forward, backward; public XGenBuff(int flags, CacheGen cg) { sb = new StringBuilder(); xgen = cg.create(flags, new StringBuilderWriter(sb)); } /** * Normal case of building up Cached HTML without transaction info * * @param cache * @param code * @throws APIException * @throws IOException */ public void run(Cache cache, Code code) throws APIException, IOException { code.code(cache, xgen); } /** * Special Case where code is dynamic, so give access to State and Trans info * * @param state * @param trans * @param cache * @param code * @throws APIException * @throws IOException */ @SuppressWarnings({ "unchecked", "rawtypes" }) public void run(State state, Trans trans, Cache cache, DynamicCode code) throws APIException, IOException { code.code(state, trans, cache, xgen); } public int getIndent() { return xgen.getIndent(); } public void setIndent(int indent) { xgen.setIndent(indent); } public Section newSection() { Section s = new Section(); s.indent = xgen.getIndent(); s.forward = sb.toString(); sb.setLength(0); s.backward = sb.toString(); sb.setLength(0); return s; } }