protected void removeAllInternal(Predicate predicate) { ClientMessage request = MapRemoveAllCodec.encodeRequest(name, toData(predicate)); invokeWithPredicate(request, predicate); }
@SuppressWarnings("unchecked") private Collection<V> valuesForPagingPredicate(Predicate predicate) { PagingPredicate pagingPredicate = unwrapPagingPredicate(predicate); pagingPredicate.setIterationType(IterationType.VALUE); ClientMessage request = MapValuesWithPagingPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapValuesWithPagingPredicateCodec.ResponseParameters resultParameters = MapValuesWithPagingPredicateCodec .decodeResponse(response); List<Entry> resultList = new ArrayList<Entry>(resultParameters.response.size()); for (Entry<Data, Data> entry : resultParameters.response) { K key = toObject(entry.getKey()); V value = toObject(entry.getValue()); resultList.add(new AbstractMap.SimpleImmutableEntry<K, V>(key, value)); } return (Collection<V>) getSortedQueryResultSet(resultList, pagingPredicate, IterationType.VALUE); }
@SuppressWarnings("unchecked") private Set<Entry<K, V>> entrySetWithPagingPredicate(Predicate predicate) { PagingPredicate pagingPredicate = unwrapPagingPredicate(predicate); pagingPredicate.setIterationType(IterationType.ENTRY); ClientMessage request = MapEntriesWithPagingPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapEntriesWithPagingPredicateCodec.ResponseParameters resultParameters = MapEntriesWithPagingPredicateCodec .decodeResponse(response); ArrayList<Map.Entry> resultList = new ArrayList<Map.Entry>(); for (Entry<Data, Data> entry : resultParameters.response) { K key = toObject(entry.getKey()); V value = toObject(entry.getValue()); resultList.add(new AbstractMap.SimpleEntry<K, V>(key, value)); } Set result = getSortedQueryResultSet(resultList, pagingPredicate, IterationType.ENTRY); return (Set<Entry<K, V>>) result; }
@SuppressWarnings("unchecked") private Collection<V> valuesForPagingPredicate(Predicate predicate) { PagingPredicate pagingPredicate = unwrapPagingPredicate(predicate); pagingPredicate.setIterationType(IterationType.VALUE); ClientMessage request = MapValuesWithPagingPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapValuesWithPagingPredicateCodec.ResponseParameters resultParameters = MapValuesWithPagingPredicateCodec .decodeResponse(response); List<Entry> resultList = new ArrayList<Entry>(resultParameters.response.size()); for (Entry<Data, Data> entry : resultParameters.response) { K key = toObject(entry.getKey()); V value = toObject(entry.getValue()); resultList.add(new AbstractMap.SimpleImmutableEntry<K, V>(key, value)); } return (Collection<V>) getSortedQueryResultSet(resultList, pagingPredicate, IterationType.VALUE); }
@SuppressWarnings("unchecked") private Set<K> keySetWithPagingPredicate(Predicate predicate) { PagingPredicate pagingPredicate = unwrapPagingPredicate(predicate); pagingPredicate.setIterationType(IterationType.KEY); ClientMessage request = MapKeySetWithPagingPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapKeySetWithPagingPredicateCodec.ResponseParameters resultParameters = MapKeySetWithPagingPredicateCodec .decodeResponse(response); ArrayList<Map.Entry> resultList = new ArrayList<Map.Entry>(); for (Data keyData : resultParameters.response) { K key = toObject(keyData); resultList.add(new AbstractMap.SimpleImmutableEntry<K, V>(key, null)); } return (Set<K>) getSortedQueryResultSet(resultList, pagingPredicate, IterationType.KEY); }
@SuppressWarnings("unchecked") private Set<Entry<K, V>> entrySetWithPagingPredicate(Predicate predicate) { PagingPredicate pagingPredicate = unwrapPagingPredicate(predicate); pagingPredicate.setIterationType(IterationType.ENTRY); ClientMessage request = MapEntriesWithPagingPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapEntriesWithPagingPredicateCodec.ResponseParameters resultParameters = MapEntriesWithPagingPredicateCodec .decodeResponse(response); ArrayList<Map.Entry> resultList = new ArrayList<Map.Entry>(); for (Entry<Data, Data> entry : resultParameters.response) { K key = toObject(entry.getKey()); V value = toObject(entry.getValue()); resultList.add(new AbstractMap.SimpleEntry<K, V>(key, value)); } Set result = getSortedQueryResultSet(resultList, pagingPredicate, IterationType.ENTRY); return (Set<Entry<K, V>>) result; }
@SuppressWarnings("unchecked") private Set<K> keySetWithPagingPredicate(Predicate predicate) { PagingPredicate pagingPredicate = unwrapPagingPredicate(predicate); pagingPredicate.setIterationType(IterationType.KEY); ClientMessage request = MapKeySetWithPagingPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapKeySetWithPagingPredicateCodec.ResponseParameters resultParameters = MapKeySetWithPagingPredicateCodec .decodeResponse(response); ArrayList<Map.Entry> resultList = new ArrayList<Map.Entry>(); for (Data keyData : resultParameters.response) { K key = toObject(keyData); resultList.add(new AbstractMap.SimpleImmutableEntry<K, V>(key, null)); } return (Set<K>) getSortedQueryResultSet(resultList, pagingPredicate, IterationType.KEY); }
@Override public Map<K, Object> executeOnEntries(EntryProcessor entryProcessor, Predicate predicate) { ClientMessage request = MapExecuteWithPredicateCodec.encodeRequest(name, toData(entryProcessor), toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapExecuteWithPredicateCodec.ResponseParameters resultParameters = MapExecuteWithPredicateCodec.decodeResponse(response); return prepareResult(resultParameters.response); }
@Override public Map<K, Object> executeOnEntries(EntryProcessor entryProcessor, Predicate predicate) { ClientMessage request = MapExecuteWithPredicateCodec.encodeRequest(name, toData(entryProcessor), toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapExecuteWithPredicateCodec.ResponseParameters resultParameters = MapExecuteWithPredicateCodec.decodeResponse(response); return prepareResult(resultParameters.response); }
@Override public Set<Entry<K, V>> entrySet(Predicate predicate) { if (containsPagingPredicate(predicate)) { return entrySetWithPagingPredicate(predicate); } ClientMessage request = MapEntriesWithPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapEntriesWithPredicateCodec.ResponseParameters resultParameters = MapEntriesWithPredicateCodec.decodeResponse(response); InflatableSet.Builder<Entry<K, V>> setBuilder = InflatableSet.newBuilder(resultParameters.response.size()); InternalSerializationService serializationService = getContext().getSerializationService(); for (Entry<Data, Data> row : resultParameters.response) { LazyMapEntry<K, V> entry = new LazyMapEntry<K, V>(row.getKey(), row.getValue(), serializationService); setBuilder.add(entry); } return setBuilder.build(); }
@Override public Set<Entry<K, V>> entrySet(Predicate predicate) { if (containsPagingPredicate(predicate)) { return entrySetWithPagingPredicate(predicate); } ClientMessage request = MapEntriesWithPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapEntriesWithPredicateCodec.ResponseParameters resultParameters = MapEntriesWithPredicateCodec.decodeResponse(response); InflatableSet.Builder<Entry<K, V>> setBuilder = InflatableSet.newBuilder(resultParameters.response.size()); InternalSerializationService serializationService = ((InternalSerializationService) getContext() .getSerializationService()); for (Entry<Data, Data> row : resultParameters.response) { LazyMapEntry<K, V> entry = new LazyMapEntry<K, V>(row.getKey(), row.getValue(), serializationService); setBuilder.add(entry); } return setBuilder.build(); }
@Override public <R> Collection<R> project(Projection<Entry<K, V>, R> projection, Predicate<K, V> predicate) { checkNotPagingPredicate(predicate, "project"); ClientMessage request = MapProjectWithPredicateCodec.encodeRequest(name, toData(projection), toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapProjectWithPredicateCodec.ResponseParameters resultParameters = MapProjectWithPredicateCodec.decodeResponse(response); return new UnmodifiableLazyList<R>(resultParameters.response, getSerializationService()); }
@Override public <R> Collection<R> project(Projection<Entry<K, V>, R> projection, Predicate<K, V> predicate) { checkNotPagingPredicate(predicate, "project"); ClientMessage request = MapProjectWithPredicateCodec.encodeRequest(name, toData(projection), toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapProjectWithPredicateCodec.ResponseParameters resultParameters = MapProjectWithPredicateCodec.decodeResponse(response); return new UnmodifiableLazyList<R>(resultParameters.response, getSerializationService()); }
@Override public Set<K> keySet(Predicate predicate) { checkNotNull(predicate, NULL_PREDICATE_IS_NOT_ALLOWED); if (containsPagingPredicate(predicate)) { return keySetWithPagingPredicate(predicate); } ClientMessage request = MapKeySetWithPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapKeySetWithPredicateCodec.ResponseParameters resultParameters = MapKeySetWithPredicateCodec.decodeResponse(response); InflatableSet.Builder<K> setBuilder = InflatableSet.newBuilder(resultParameters.response.size()); for (Data data : resultParameters.response) { K key = toObject(data); setBuilder.add(key); } return setBuilder.build(); }
@Override public Collection<V> values(Predicate predicate) { checkNotNull(predicate, NULL_PREDICATE_IS_NOT_ALLOWED); if (containsPagingPredicate(predicate)) { return valuesForPagingPredicate(predicate); } ClientMessage request = MapValuesWithPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapValuesWithPredicateCodec.ResponseParameters resultParameters = MapValuesWithPredicateCodec.decodeResponse(response); return new UnmodifiableLazyList<V>(resultParameters.response, getSerializationService()); }
@Override public Collection<V> values(Predicate predicate) { checkNotNull(predicate, NULL_PREDICATE_IS_NOT_ALLOWED); if (containsPagingPredicate(predicate)) { return valuesForPagingPredicate(predicate); } ClientMessage request = MapValuesWithPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapValuesWithPredicateCodec.ResponseParameters resultParameters = MapValuesWithPredicateCodec.decodeResponse(response); return new UnmodifiableLazyList<V>(resultParameters.response, getSerializationService()); }
@Override public <R> R aggregate(Aggregator<Map.Entry<K, V>, R> aggregator, Predicate<K, V> predicate) { checkNotNull(aggregator, NULL_AGGREGATOR_IS_NOT_ALLOWED); checkNotNull(predicate, NULL_PREDICATE_IS_NOT_ALLOWED); checkNotPagingPredicate(predicate, "aggregate"); ClientMessage request = MapAggregateWithPredicateCodec.encodeRequest(name, toData(aggregator), toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapAggregateWithPredicateCodec.ResponseParameters resultParameters = MapAggregateWithPredicateCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public <R> R aggregate(Aggregator<Map.Entry<K, V>, R> aggregator, Predicate<K, V> predicate) { checkNotNull(aggregator, NULL_AGGREGATOR_IS_NOT_ALLOWED); checkNotNull(predicate, NULL_PREDICATE_IS_NOT_ALLOWED); checkNotPagingPredicate(predicate, "aggregate"); ClientMessage request = MapAggregateWithPredicateCodec.encodeRequest(name, toData(aggregator), toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapAggregateWithPredicateCodec.ResponseParameters resultParameters = MapAggregateWithPredicateCodec.decodeResponse(response); return toObject(resultParameters.response); }
@Override public Set<K> keySet(Predicate predicate) { checkNotNull(predicate, NULL_PREDICATE_IS_NOT_ALLOWED); if (containsPagingPredicate(predicate)) { return keySetWithPagingPredicate(predicate); } ClientMessage request = MapKeySetWithPredicateCodec.encodeRequest(name, toData(predicate)); ClientMessage response = invokeWithPredicate(request, predicate); MapKeySetWithPredicateCodec.ResponseParameters resultParameters = MapKeySetWithPredicateCodec.decodeResponse(response); InflatableSet.Builder<K> setBuilder = InflatableSet.newBuilder(resultParameters.response.size()); for (Data data : resultParameters.response) { K key = toObject(data); setBuilder.add(key); } return setBuilder.build(); }