public class UnmodifiableLazyStringList extends java.util.AbstractList<java.lang.String> implements LazyStringList, java.util.RandomAccess
LazyStringList that wraps another
LazyStringList such that it cannot be modified via the wrapper.| Constructor and Description |
|---|
UnmodifiableLazyStringList(LazyStringList list) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(byte[] element)
Appends the specified element to the end of this list (optional
operation).
|
void |
add(ByteString element)
Appends the specified element to the end of this list (optional
operation).
|
boolean |
addAllByteArray(java.util.Collection<byte[]> element)
Appends all elements in the specified byte[] collection to the end of
this list.
|
boolean |
addAllByteString(java.util.Collection<? extends ByteString> element)
Appends all elements in the specified ByteString collection to the end of
this list.
|
java.util.List<byte[]> |
asByteArrayList()
Returns a mutable view of this list.
|
java.util.List<ByteString> |
asByteStringList()
Returns a view of the data as a list of ByteStrings.
|
java.lang.String |
get(int index) |
byte[] |
getByteArray(int index)
Returns the element at the specified position in this list as byte[].
|
ByteString |
getByteString(int index)
Returns the element at the specified position in this list as a ByteString.
|
java.lang.Object |
getRaw(int index)
Returns the element at the specified position in this list as an Object
that will either be a String or a ByteString.
|
java.util.List<?> |
getUnderlyingElements()
Returns an unmodifiable List of the underlying elements, each of which is
either a
String or its equivalent UTF-8 encoded ByteString
or byte[]. |
LazyStringList |
getUnmodifiableView()
Returns an unmodifiable view of the list.
|
java.util.Iterator<java.lang.String> |
iterator() |
java.util.ListIterator<java.lang.String> |
listIterator(int index) |
void |
mergeFrom(LazyStringList other)
Merges all elements from another LazyStringList into this one.
|
void |
set(int index,
byte[] element)
Replaces the element at the specified position in this list with the
specified element (optional operation).
|
void |
set(int index,
ByteString element)
Replaces the element at the specified position in this list with the
specified element (optional operation).
|
int |
size() |
add, add, addAll, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, remove, removeRange, set, subListaddAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringpublic UnmodifiableLazyStringList(LazyStringList list)
public java.lang.String get(int index)
get in interface java.util.List<java.lang.String>get in class java.util.AbstractList<java.lang.String>public java.lang.Object getRaw(int index)
LazyStringListgetRaw in interface LazyStringListindex - index of the element to returnpublic int size()
size in interface java.util.Collection<java.lang.String>size in interface java.util.List<java.lang.String>size in class java.util.AbstractCollection<java.lang.String>public ByteString getByteString(int index)
LazyStringListgetByteString in interface LazyStringListindex - index of the element to returnpublic void add(ByteString element)
LazyStringListadd in interface LazyStringListelement - element to be appended to this listpublic void set(int index,
ByteString element)
LazyStringListset in interface LazyStringListindex - index of the element to replaceelement - the element to be stored at the specified positionpublic boolean addAllByteString(java.util.Collection<? extends ByteString> element)
LazyStringListaddAllByteString in interface LazyStringListelement - collection whose elements are to be added to this listpublic byte[] getByteArray(int index)
LazyStringListgetByteArray in interface LazyStringListindex - index of the element to returnpublic void add(byte[] element)
LazyStringListadd in interface LazyStringListelement - element to be appended to this listpublic void set(int index,
byte[] element)
LazyStringListset in interface LazyStringListindex - index of the element to replaceelement - the element to be stored at the specified positionpublic boolean addAllByteArray(java.util.Collection<byte[]> element)
LazyStringListaddAllByteArray in interface LazyStringListelement - collection whose elements are to be added to this listpublic java.util.ListIterator<java.lang.String> listIterator(int index)
listIterator in interface java.util.List<java.lang.String>listIterator in class java.util.AbstractList<java.lang.String>public java.util.Iterator<java.lang.String> iterator()
iterator in interface java.lang.Iterable<java.lang.String>iterator in interface java.util.Collection<java.lang.String>iterator in interface java.util.List<java.lang.String>iterator in class java.util.AbstractList<java.lang.String>public java.util.List<?> getUnderlyingElements()
LazyStringListString or its equivalent UTF-8 encoded ByteString
or byte[]. It is an error for the caller to modify the returned
List, and attempting to do so will result in an
UnsupportedOperationException.getUnderlyingElements in interface LazyStringListpublic void mergeFrom(LazyStringList other)
LazyStringListList.addAll(Collection) on that underlying byte arrays are
copied instead of reference shared. Immutable API doesn't need to use this
method as byte[] is not used there at all.mergeFrom in interface LazyStringListpublic java.util.List<byte[]> asByteArrayList()
LazyStringListasByteArrayList in interface LazyStringListpublic java.util.List<ByteString> asByteStringList()
ProtocolStringListasByteStringList in interface ProtocolStringListpublic LazyStringList getUnmodifiableView()
LazyStringListgetUnmodifiableView in interface LazyStringList