// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.util.io;

import java.io.OutputStream;

public class LimitedBuffer extends OutputStream
{
    private final byte[] buf;
    private int count;
    
    public LimitedBuffer(final int n) {
        this.buf = new byte[n];
        this.count = 0;
    }
    
    public int copyTo(final byte[] array, final int n) {
        System.arraycopy(this.buf, 0, array, n, this.count);
        return this.count;
    }
    
    public int limit() {
        return this.buf.length;
    }
    
    public void reset() {
        this.count = 0;
    }
    
    public int size() {
        return this.count;
    }
    
    @Override
    public void write(final int n) {
        this.buf[this.count++] = (byte)n;
    }
    
    @Override
    public void write(final byte[] array) {
        System.arraycopy(array, 0, this.buf, this.count, array.length);
        this.count += array.length;
    }
    
    @Override
    public void write(final byte[] array, final int n, final int n2) {
        System.arraycopy(array, n, this.buf, this.count, n2);
        this.count += n2;
    }
}
