de.micromata.genome.tpsb.httpmockup.MockServletOutputStream Maven / Gradle / Ivy
The newest version!
//
// Copyright (C) 2010-2016 Micromata GmbH
//
// 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.
//
package de.micromata.genome.tpsb.httpmockup;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.WriteListener;
/**
* Adopted from stripes.
*
* Mock implementation of a ServletOutputStream that just uses a byte array output stream to capture any output and make it available after
* the test is done.
*
* @author Tim Fennell
* @since Stripes 1.1
*/
public class MockServletOutputStream extends ServletOutputStream
{
private ByteArrayOutputStream out = new ByteArrayOutputStream();
/** Pass through method calls ByteArrayOutputStream.write(int b). */
@Override
public void write(int b) throws IOException
{
out.write(b);
}
/** Returns the array of bytes that have been written to the output stream. */
public byte[] getBytes()
{
return out.toByteArray();
}
/** Returns, as a character string, the output that was written to the output stream. */
public String getString()
{
return out.toString();
}
@Override
public boolean isReady() {
return false;
}
@Override
public void setWriteListener(WriteListener writeListener) {
}
}