/* * * Paros and its related class files. * * Paros is an HTTP/HTTPS proxy for assessing web application security. * Copyright (C) 2003-2004 Chinotec Technologies Company * * This program is free software; you can redistribute it and/or * modify it under the terms of the Clarified Artistic License * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * Clarified Artistic License for more details. * * You should have received a copy of the Clarified Artistic License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // ZAP: 2013/03/03 Issue 546: Remove all template Javadoc comments // ZAP: 2013/03/03 Issue 547: Deprecate unused classes and methods // ZAP: 2016/09/26 JavaDoc tweaks package org.parosproxy.paros.network; /** * @deprecated No longer used/needed. It will be removed in a future release. */ @Deprecated public class ByteVector { private static final int INITIAL_SIZE = 4096; private byte[] buf = null; private int bufLen = 0; private boolean changed = true; public ByteVector() { buf = new byte[INITIAL_SIZE]; } public ByteVector(int capacity) { buf = new byte[capacity]; } void ensureCapacity(int minimumCapacity) { if (buf.length - bufLen >= minimumCapacity) { // enough buf, no expand needed. return; } // expand needed int expandLength = buf.length * 2; if (expandLength - bufLen < minimumCapacity) { expandLength = bufLen + minimumCapacity; } byte[] newBuf = new byte[expandLength]; System.arraycopy(buf, 0, newBuf, 0, bufLen); buf = newBuf; } public synchronized void append(byte[] b, int offset, int length) { ensureCapacity(length); System.arraycopy(b, offset, buf, bufLen, length); bufLen += length; changed = true; } public void append(byte[] b, int length) { append(b, 0, length); } public void append(byte[] b) { append(b, 0, b.length); } /** * Return the current byte array containing the bytes. * @return a copy of the byte array */ public byte[] getBytes() { if (!changed) { return buf; } byte[] newBuf = new byte[bufLen]; System.arraycopy(buf, 0, newBuf, 0, bufLen); buf = newBuf; return buf; } public int length() { return bufLen; } public void setLength(int length) { if (length <= bufLen) { bufLen = length; return; } else { byte[] newBuf = new byte[length]; System.arraycopy(buf, 0, newBuf, 0, bufLen); buf = newBuf; } } }