@Override public String addItemListener(ItemListener<E> listener, boolean includeValue) { isNotNull(listener, "listener"); EventHandler<ClientMessage> eventHandler = new ItemEventHandler(listener); return registerListener(createItemListenerCodec(includeValue), eventHandler); }
@Override public boolean removeItemListener(String registrationId) { return deregisterListener(registrationId); }
@Override public <T> T[] toArray(T[] a) { return getAll().toArray(a); }
@Override public E get(int index) { ClientMessage request = ListGetCodec.encodeRequest(name, index); ClientMessage response = invokeOnPartition(request); ListGetCodec.ResponseParameters resultParameters = ListGetCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public E set(int index, E element) { checkNotNull(element); Data value = toData(element); ClientMessage request = ListSetCodec.encodeRequest(name, index, value); ClientMessage response = invokeOnPartition(request); ListSetCodec.ResponseParameters resultParameters = ListSetCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public void add(int index, E element) { checkNotNull(element); Data value = toData(element); ClientMessage request = ListAddWithIndexCodec.encodeRequest(name, index, value); invokeOnPartition(request); }
@Override public List<E> subList(int fromIndex, int toIndex) { ClientMessage request = ListSubCodec.encodeRequest(name, fromIndex, toIndex); ClientMessage response = invokeOnPartition(request); ListSubCodec.ResponseParameters resultParameters = ListSubCodec.decodeResponse(response); List<Data> resultCollection = resultParameters.response; return new UnmodifiableLazyList<E>(resultCollection, getSerializationService()); }
@Override public void clear() { ClientMessage request = ListClearCodec.encodeRequest(name); invokeOnPartition(request); }
@Override public ListIterator<E> listIterator() { return listIterator(0); }
private Collection<E> getAll() { ClientMessage request = ListGetAllCodec.encodeRequest(name); ClientMessage response = invokeOnPartition(request); ListGetAllCodec.ResponseParameters resultParameters = ListGetAllCodec.decodeResponse(response); return new UnmodifiableLazyList<E>(resultParameters.response, getSerializationService()); }
@Override public void add(int index, E element) { checkNotNull(element); Data value = toData(element); ClientMessage request = ListAddWithIndexCodec.encodeRequest(name, index, value); invokeOnPartition(request); }
@Override public E set(int index, E element) { checkNotNull(element); Data value = toData(element); ClientMessage request = ListSetCodec.encodeRequest(name, index, value); ClientMessage response = invokeOnPartition(request); ListSetCodec.ResponseParameters resultParameters = ListSetCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public E remove(int index) { ClientMessage request = ListRemoveWithIndexCodec.encodeRequest(name, index); ClientMessage response = invokeOnPartition(request); ListRemoveWithIndexCodec.ResponseParameters resultParameters = ListRemoveWithIndexCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public void clear() { ClientMessage request = ListClearCodec.encodeRequest(name); invokeOnPartition(request); }
@Override public ListIterator<E> listIterator() { return listIterator(0); }
@Override public List<E> subList(int fromIndex, int toIndex) { ClientMessage request = ListSubCodec.encodeRequest(name, fromIndex, toIndex); ClientMessage response = invokeOnPartition(request); ListSubCodec.ResponseParameters resultParameters = ListSubCodec.decodeResponse(response); List<Data> resultCollection = resultParameters.response; return new UnmodifiableLazyList<E>(resultCollection, getSerializationService()); }
@Override public boolean remove(Object o) { checkNotNull(o); Data value = toData(o); ClientMessage request = ListRemoveCodec.encodeRequest(name, value); ClientMessage response = invokeOnPartition(request); ListRemoveCodec.ResponseParameters resultParameters = ListRemoveCodec.decodeResponse(response); return resultParameters.response; }
@Override public E get(int index) { ClientMessage request = ListGetCodec.encodeRequest(name, index); ClientMessage response = invokeOnPartition(request); ListGetCodec.ResponseParameters resultParameters = ListGetCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public String addItemListener(ItemListener<E> listener, boolean includeValue) { isNotNull(listener, "listener"); EventHandler<ClientMessage> eventHandler = new ItemEventHandler(listener); return registerListener(createItemListenerCodec(includeValue), eventHandler); }
@Override public boolean isEmpty() { ClientMessage request = ListIsEmptyCodec.encodeRequest(name); ClientMessage response = invokeOnPartition(request); ListIsEmptyCodec.ResponseParameters resultParameters = ListIsEmptyCodec.decodeResponse(response); return resultParameters.response; }