io.sphere.sdk.jsonnodes.queries.JsonNodeQuery Maven / Gradle / Ivy
The newest version!
package io.sphere.sdk.jsonnodes.queries;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import io.sphere.sdk.expansion.ExpansionPathContainer;
import io.sphere.sdk.jsonnodes.expansion.JsonNodeExpansionModel;
import io.sphere.sdk.queries.MetaModelQueryDsl;
import io.sphere.sdk.queries.PagedQueryResult;
import io.sphere.sdk.queries.QueryPredicate;
import io.sphere.sdk.queries.QuerySort;
import java.util.List;
import java.util.function.Function;
public interface JsonNodeQuery extends MetaModelQueryDsl> {
/**
* Creates a container which contains the full Java type information to deserialize the query result (NOT this class) from JSON.
*
* @see io.sphere.sdk.json.SphereJsonUtils#readObject(byte[], TypeReference)
* @see io.sphere.sdk.json.SphereJsonUtils#readObject(String, TypeReference)
* @see io.sphere.sdk.json.SphereJsonUtils#readObject(com.fasterxml.jackson.databind.JsonNode, TypeReference)
* @see io.sphere.sdk.json.SphereJsonUtils#readObjectFromResource(String, TypeReference)
*
* @return type reference
*/
static TypeReference> resultTypeReference() {
return new TypeReference>() {
@Override
public String toString() {
return "TypeReference>";
}
};
}
static JsonNodeQuery of(final String path) {
return new JsonNodeQueryImpl(path);
}
@Override
JsonNodeQuery plusPredicates(final Function> jsonNodeQueryModelQueryPredicateFunction);
@Override
JsonNodeQuery plusPredicates(final QueryPredicate queryPredicate);
@Override
JsonNodeQuery plusPredicates(final List> queryPredicates);
@Override
JsonNodeQuery plusSort(final List> sort);
@Override
JsonNodeQuery plusSort(final QuerySort sort);
@Override
JsonNodeQuery plusSort(final Function> jsonNodeQueryModelQuerySortFunction);
@Override
JsonNodeQuery withPredicates(final Function> jsonNodeQueryModelQueryPredicateFunction);
@Override
JsonNodeQuery withPredicates(final QueryPredicate queryPredicate);
@Override
JsonNodeQuery withPredicates(final List> queryPredicates);
@Override
JsonNodeQuery withSort(final List> sort);
@Override
JsonNodeQuery withSort(final QuerySort sort);
@Override
JsonNodeQuery withSort(final Function> jsonNodeQueryModelQuerySortFunction);
@Override
JsonNodeQuery withSortMulti(final Function>> sortFunction);
@Override
JsonNodeQuery plusExpansionPaths(final Function, ExpansionPathContainer> m);
@Override
JsonNodeQuery withExpansionPaths(final Function, ExpansionPathContainer> m);
@Override
JsonNodeQuery withFetchTotal(final boolean fetchTotal);
@Override
JsonNodeQuery withLimit(final Long limit);
@Override
JsonNodeQuery withOffset(final Long offset);
}