001package net.minecraft.network.rcon;
002
003import java.io.ByteArrayOutputStream;
004import java.io.DataOutputStream;
005import java.io.IOException;
006
007public class RConOutputStream
008{
009    /** Output stream */
010    private ByteArrayOutputStream byteArrayOutput;
011
012    /** ByteArrayOutputStream wrapper */
013    private DataOutputStream output;
014
015    public RConOutputStream(int par1)
016    {
017        this.byteArrayOutput = new ByteArrayOutputStream(par1);
018        this.output = new DataOutputStream(this.byteArrayOutput);
019    }
020
021    /**
022     * Writes the given byte array to the output stream
023     */
024    public void writeByteArray(byte[] par1ArrayOfByte) throws IOException
025    {
026        this.output.write(par1ArrayOfByte, 0, par1ArrayOfByte.length);
027    }
028
029    /**
030     * Writes the given String to the output stream
031     */
032    public void writeString(String par1Str) throws IOException
033    {
034        this.output.writeBytes(par1Str);
035        this.output.write(0);
036    }
037
038    /**
039     * Writes the given int to the output stream
040     */
041    public void writeInt(int par1) throws IOException
042    {
043        this.output.write(par1);
044    }
045
046    /**
047     * Writes the given short to the output stream
048     */
049    public void writeShort(short par1) throws IOException
050    {
051        this.output.writeShort(Short.reverseBytes(par1));
052    }
053
054    /**
055     * Returns the contents of the output stream as a byte array
056     */
057    public byte[] toByteArray()
058    {
059        return this.byteArrayOutput.toByteArray();
060    }
061
062    /**
063     * Resets the byte array output.
064     */
065    public void reset()
066    {
067        this.byteArrayOutput.reset();
068    }
069}