public class BinaryList extends ListBase implements java.lang.Iterable<byte[]>
A list of item type binary
.
Uses the property and function naming conventions of the JavaScript Array object.
Modifier and Type | Field and Description |
---|---|
static BinaryList |
empty |
Constructor and Description |
---|
BinaryList()
See BinaryList(int).
|
BinaryList(int capacity)
Construct a new list with
BinaryList.length of zero and optional initial capacity . |
Modifier and Type | Method and Description |
---|---|
void |
add(byte[] item)
Add
item to the end of this list. |
void |
addAll(BinaryList list)
Add all the items of
list to the end of this list. |
BinaryList |
addThis(byte[] item)
Add
item to the end of this list. |
BinaryList |
copy()
Return a shallow copy of this list.
|
byte[] |
first()
Return the first item in this list.
|
static BinaryList |
from(java.util.List<byte[]> list) |
byte[] |
get(int index)
Return the item in this list at the specified
index . |
boolean |
includes(byte[] item)
Return
true if this list contains item . |
int |
indexOf(byte[] item)
See indexOf(byte[], int).
|
int |
indexOf(byte[] item,
int start)
Return first index in this list of
item , or -1 if not found. |
void |
insertAll(int index,
BinaryList list)
Insert all items of
list into this list, before the item (if any) at index . |
void |
insertAt(int index,
byte[] item)
Insert
item into this list, before the item (if any) at index . |
java.util.Iterator<byte[]> |
iterator() |
byte[] |
last()
Return the last item in this list.
|
int |
lastIndexOf(byte[] item)
|
int |
lastIndexOf(byte[] item,
int start)
Return last index in this list of
item , or -1 if not found. |
void |
set(int index,
byte[] item)
Set the item in this list at the specified
index . |
static BinaryList |
share(ListBase list)
|
byte[] |
single()
Return a single item from this list.
|
BinaryList |
slice(int start)
See slice(int, int).
|
BinaryList |
slice(int start,
int end)
Return a slice of this list from index
start (inclusive) to index end (exclusive). |
static BinaryList |
split(byte[] value,
byte[] separator)
|
static BinaryList |
split(byte[] value,
byte[] separator,
int limit)
Split a binary value into a list of binary values, divided by the specified separator.
|
ListBase |
toDynamic()
Return (nullable) a dynamic representation of this list (
DataValueList , ComplexValueList , or EntityValueList ), or null if there is no dynamic representation available. |
java.util.List<byte[]> |
toGeneric() |
clear, getComparer, getDataType, getEquality, getUntypedList, isEmpty, length, removeAt, removeFirst, removeLast, removeRange, reverse, shareWith, sort, sortWith, toString, validate
cloneMutable, equals, getTypeCode, hashCode
public static final BinaryList empty
public BinaryList()
public BinaryList(int capacity)
Construct a new list with BinaryList.length
of zero and optional initial capacity
.
A list can expand in length beyond its initial capacity, but best performance
will be obtained if the initial capacity is close to the list's maximum length.
capacity
- Optional initial capacity.public void add(byte[] item)
Add item
to the end of this list.
item
- Item to be added.public void addAll(BinaryList list)
Add all the items of list
to the end of this list.
list
- Items to be added.public BinaryList addThis(byte[] item)
Add item
to the end of this list.
item
- Item to be added.public BinaryList copy()
Return a shallow copy of this list.
public byte[] first()
Return the first item in this list.
EmptyListException
if the list is empty.
public static BinaryList from(java.util.List<byte[]> list)
public byte[] get(int index)
Return the item in this list at the specified index
.
ListIndexException
if index
is out of range (0 to BinaryList.length
- 1).
index
- Zero-based index.public boolean includes(byte[] item)
Return true
if this list contains item
.
item
- Item for comparison. Comparison uses the BinaryList.equality
property, which would usually be expected to match the ==
operator for item type binary
.true
if this list contains item
.public int indexOf(byte[] item)
item
- Item parameter.public int indexOf(byte[] item, int start)
Return first index in this list of item
, or -1
if not found.
item
- Item for comparison. Comparison uses the BinaryList.equality
property, which would usually be expected to match the ==
operator for item type binary
.start
- Zero-based starting index (search moves forwards from this index).item
, or -1
if not found.public void insertAll(int index, BinaryList list)
Insert all items of list
into this list, before the item (if any) at index
.
ListIndexException
if index
is out of range (0 to BinaryList.length
).
index
- Zero-based index.list
- List of items to be inserted.public void insertAt(int index, byte[] item)
Insert item
into this list, before the item (if any) at index
.
ListIndexException
if index
is out of range (0 to BinaryList.length
).
index
- Zero-based index.item
- Item to be added.public java.util.Iterator<byte[]> iterator()
iterator
in interface java.lang.Iterable<byte[]>
public byte[] last()
Return the last item in this list.
EmptyListException
if the list is empty.
public int lastIndexOf(byte[] item)
item
- Item parameter.public int lastIndexOf(byte[] item, int start)
Return last index in this list of item
, or -1
if not found.
item
- Item for comparison. Comparison uses the BinaryList.equality
property, which would usually be expected to match the ==
operator for item type binary
.start
- Zero-based starting index (search moves backwards from this index).item
, or -1
if not found.public void set(int index, byte[] item)
Set the item in this list at the specified index
.
index
- Zero-based index.item
- Item value.public static BinaryList share(ListBase list)
Return a new BinaryList
that shares the ListBase.untypedList
as the list
parameter.
To ensure type safety, items in list
that do not have the item type binary
will be removed.
list
- List whose items will be shared by the resulting list.binary
, sharing the same items as list
.public byte[] single()
Return a single item from this list.
EmptyListException
if the list has no items, NotUniqueException
if the list has multiple items.
public BinaryList slice(int start)
start
- Start parameter.public BinaryList slice(int start, int end)
Return a slice of this list from index start
(inclusive) to index end
(exclusive).
start
- Zero-based starting index (inclusive), or negative for starting index relative to the end of this list.end
- Zero-based ending index (exclusive), or negative for ending index relative to the end of this list.start
(inclusive) to index end
(exclusive).public static BinaryList split(byte[] value, byte[] separator)
value
- Value parameter.separator
- Separator parameter.public static BinaryList split(byte[] value, byte[] separator, int limit)
Split a binary value into a list of binary values, divided by the specified separator.
value
- The binary value to be split.separator
- The separator value.limit
- separator Maximum number of binary values to return. The separator can appear (possibly multiple times) in the final binary value.public ListBase toDynamic()
Return (nullable) a dynamic representation of this list (DataValueList
, ComplexValueList
, or EntityValueList
), or null
if there is no dynamic representation available.
toDynamic
in class ListBase
DataValueList
, ComplexValueList
, or EntityValueList
), or null
if there is no dynamic representation available.public java.util.List<byte[]> toGeneric()