// search
@Override
public final List<T> searchAll(final Triple<String, ClientOperation, String>... constraints) {
beforeReadOperation();
final SearchUriBuilder builder = new SearchUriBuilder();
for (final Triple<String, ClientOperation, String> constraint : constraints) {
builder.consume(constraint);
}
final URI uri = UriUtil.createSearchUri(getUri() + QueryConstants.QUERY_PREFIX + "{qu}", builder.build());
final ResponseEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET, readRequestEntity(getReadCredentials()), String.class);
Preconditions.checkState(response.getStatusCode().value() == 200);
return marshaller.decodeList(response.getBody(), clazz);
}