/vertx-template-engines/vertx-web-templ-rocker/src/main/java/io/vertx/ext/web/templ/rocker/impl/VertxBufferOutput.java
https://github.com/vert-x3/vertx-web · Java · 64 lines · 34 code · 12 blank · 18 comment · 0 complexity · 9ab1e889dc4ca0f02d80d7e23a143793 MD5 · raw file
- /*
- * Copyright 2014 Red Hat, Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * and Apache License v2.0 which accompanies this distribution.
- *
- * The Eclipse Public License is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * The Apache License v2.0 is available at
- * http://www.opensource.org/licenses/apache2.0.php
- *
- * You may elect to redistribute this code under either of these licenses.
- */
- package io.vertx.ext.web.templ.rocker.impl;
- import com.fizzed.rocker.ContentType;
- import com.fizzed.rocker.runtime.AbstractRockerOutput;
- import io.vertx.core.buffer.Buffer;
- import java.nio.charset.Charset;
- /**
- * @author <a href="mailto:xianguang.zhou@outlook.com">Xianguang Zhou</a>
- */
- public class VertxBufferOutput extends AbstractRockerOutput<VertxBufferOutput> {
- public static final VertxBufferOutputFactory FACTORY = new VertxBufferOutputFactory();
- private static int maxRuntimeSize = 0;
- private final Buffer buffer;
- public VertxBufferOutput(ContentType contentType, String charsetName) {
- super(contentType, charsetName, 0);
- this.buffer = Buffer.buffer(maxRuntimeSize);
- }
- public VertxBufferOutput(ContentType contentType, Charset charset) {
- super(contentType, charset, 0);
- this.buffer = Buffer.buffer(maxRuntimeSize);
- }
- public Buffer getBuffer() {
- maxRuntimeSize = Math.max(maxRuntimeSize, buffer.length());
- return buffer;
- }
- @Override
- public VertxBufferOutput w(String string) {
- buffer.appendString(string, charset.name());
- byteLength = buffer.length();
- return this;
- }
- @Override
- public VertxBufferOutput w(byte[] bytes) {
- buffer.appendBytes(bytes);
- byteLength = buffer.length();
- return this;
- }
- }