@Override public boolean addAllByteArray(Collection<byte[]> c) { ensureIsMutable(); boolean ret = list.addAll(c); modCount++; return ret; }
@Override public void add(int index, String element) { ensureIsMutable(); list.add(index, element); modCount++; }
private void add(int index, ByteString element) { ensureIsMutable(); list.add(index, element); modCount++; }
private void add(int index, byte[] element) { ensureIsMutable(); list.add(index, element); modCount++; }
@Override public void add(ByteString element) { ensureIsMutable(); list.add(element); modCount++; }
@Override public void add(byte[] element) { ensureIsMutable(); list.add(element); modCount++; }
@Override public boolean addAllByteString(Collection<? extends ByteString> values) { ensureIsMutable(); boolean ret = list.addAll(values); modCount++; return ret; }
@Override public void clear() { ensureIsMutable(); list.clear(); modCount++; }
private Object setAndReturn(int index, ByteString s) { ensureIsMutable(); return list.set(index, s); }
private Object setAndReturn(int index, byte[] s) { ensureIsMutable(); return list.set(index, s); }
@Override public String remove(int index) { ensureIsMutable(); Object o = list.remove(index); modCount++; return asString(o); }
@Override public String set(int index, String s) { ensureIsMutable(); Object o = list.set(index, s); return asString(o); }
@Override public boolean addAll(int index, Collection<? extends String> c) { ensureIsMutable(); // When copying from another LazyStringList, directly copy the underlying // elements rather than forcing each element to be decoded to a String. Collection<?> collection = c instanceof LazyStringList ? ((LazyStringList) c).getUnderlyingElements() : c; boolean ret = list.addAll(index, collection); modCount++; return ret; }
@Override public void mergeFrom(LazyStringList other) { ensureIsMutable(); for (Object o : other.getUnderlyingElements()) { if (o instanceof byte[]) { byte[] b = (byte[]) o; // Byte array's content is mutable so they should be copied rather than // shared when merging from one message to another. list.add(Arrays.copyOf(b, b.length)); } else { list.add(o); } } }
@Override public void clear() { ensureIsMutable(); list.clear(); modCount++; }
@Override public boolean addAllByteArray(Collection<byte[]> c) { ensureIsMutable(); boolean ret = list.addAll(c); modCount++; return ret; }
@Override public boolean addAllByteArray(Collection<byte[]> c) { ensureIsMutable(); boolean ret = list.addAll(c); modCount++; return ret; }
@Override public String set(int index, String s) { ensureIsMutable(); Object o = list.set(index, s); return asString(o); }
@Override public String remove(int index) { ensureIsMutable(); Object o = list.remove(index); modCount++; return asString(o); }
@Override public String set(int index, String s) { ensureIsMutable(); Object o = list.set(index, s); return asString(o); }