Package org.yamcs.utils
Class ByteArray
java.lang.Object
org.yamcs.utils.ByteArray
byte array which grows and also supports writing/reading int, double, etc.
All non byte operations are big endian.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(byte x) add value to the arrayvoid
add
(byte[] v) void
addDouble
(double x) void
addInt
(int x) void
addLong
(long x) void
Writes a string encoded in UTF as perDataOutputStream.writeUTF(String)
terminated with a null charactervoid
addShort
(short x) void
addSizePrefixedProto
(com.google.protobuf.MessageLite msg) Writes a protobuf message to the buffer.void
Writes a string preceded by its size in two bytes big endian.byte[]
array()
get the backing arrayvoid
ensureRemaining
(int size) boolean
byte
get()
void
get
(byte[] bp) byte
get
(int pos) get element at positiondouble
int
getInt()
long
getLong()
short
getShort()
<T extends com.google.protobuf.MessageLite.Builder>
voidgetSizePrefixedProto
(T builder) int
indexOf
(byte x) Returns the index of the first occurrence of the specified element in the array, or -1 if the array does not contain the element.void
insert
(int pos, byte x) boolean
isEmpty()
int
position()
void
reset()
void
reset
(int length) void
set
(int pos, byte x) void
setInt
(int pos, int x) int
size()
byte[]
toArray()
toString()
static ByteArray
wrap
(byte... array) Creates the ByteArray with the backing array
-
Field Details
-
DEFAULT_CAPACITY
public static int DEFAULT_CAPACITY
-
-
Constructor Details
-
ByteArray
public ByteArray()Creates a sorted int array with a default initial capacity -
ByteArray
public ByteArray(int capacity) Creates an IntArray with a given initial capacity- Parameters:
capacity
-
-
-
Method Details
-
wrap
Creates the ByteArray with the backing array- Parameters:
array
-- Returns:
- a new object containing all the values from the passed array
-
ensureRemaining
public void ensureRemaining(int size) -
add
public void add(byte x) add value to the array- Parameters:
x
- - value to be added
-
addShort
public void addShort(short x) -
addInt
public void addInt(int x) -
addLong
public void addLong(long x) -
add
public void add(byte[] v) -
addDouble
public void addDouble(double x) -
addSizePrefixedProto
public void addSizePrefixedProto(com.google.protobuf.MessageLite msg) Writes a protobuf message to the buffer. The message will be prefixed by its size in 4 bytes big endian.- Parameters:
msg
-
-
addSizePrefixedUTF
Writes a string preceded by its size in two bytes big endian.The encoded byte array does not contain null characters
- Parameters:
v
-- See Also:
-
addNullTerminatedUTF
Writes a string encoded in UTF as perDataOutputStream.writeUTF(String)
terminated with a null character- Parameters:
v
-
-
insert
public void insert(int pos, byte x) -
set
public void set(int pos, byte x) -
setInt
public void setInt(int pos, int x) -
get
public byte get() -
getShort
public short getShort() -
getInt
public int getInt() -
getLong
public long getLong() -
getDouble
public double getDouble() -
getSizePrefixedUTF
- Throws:
DecodingException
-
getNullTerminatedUTF
- Throws:
DecodingException
-
get
public void get(byte[] bp) -
getSizePrefixedProto
public <T extends com.google.protobuf.MessageLite.Builder> void getSizePrefixedProto(T builder) -
get
public byte get(int pos) get element at position- Parameters:
pos
-- Returns:
- the element at the specified position
-
isEmpty
public boolean isEmpty() -
toArray
public byte[] toArray()- Returns:
- a copy of the underlying byte array with the current length
-
size
public int size() -
indexOf
public int indexOf(byte x) Returns the index of the first occurrence of the specified element in the array, or -1 if the array does not contain the element.- Parameters:
x
- element which is searched for- Returns:
- the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
-
equals
-
reset
public void reset() -
reset
public void reset(int length) -
array
public byte[] array()get the backing array- Returns:
- the backing array
-
toString
-
position
public int position()
-