1 package jcryptoboard
.api
.types
;
3 import org
.apache
.commons
.lang
.ArrayUtils
;
4 import org
.apache
.commons
.lang
.mutable
.Mutable
;
6 public class ByteArray
implements Mutable
{
11 this.array
= ArrayUtils
.EMPTY_BYTE_ARRAY
;
14 public ByteArray(int length
) {
15 this.array
= new byte[length
];
18 public void setCapacity(int capacity
) {
20 array
= new byte[capacity
];
21 } else if (array
.length
< capacity
) {
22 byte[] newArray
= new byte[capacity
];
23 System
.arraycopy(array
, 0, newArray
, 0, array
.length
);
28 public void setSize(int size
) {
30 array
= new byte[size
];
31 } else if (array
.length
!= size
) {
32 byte[] newArray
= new byte[size
];
33 System
.arraycopy(array
, 0, newArray
, 0, Math
.min(array
.length
, size
));
38 public byte[] getArray() {
42 public byte[] getCopy() {
43 return ArrayUtils
.clone(array
);
46 public byte getFirst() {
47 if ((array
!= null) && array
.length
> 0)
53 public byte getLast() {
54 if ((array
!= null) && array
.length
> 0)
55 return array
[array
.length
-1];
60 public int getLength() {
64 public byte[] getValue() {
68 public void setValue(Object value
) {
69 array
= (byte[]) value
;