io.sphere.sdk.customers.queries.CustomerQuery Maven / Gradle / Ivy
package io.sphere.sdk.customers.queries;
import com.fasterxml.jackson.core.type.TypeReference;
import io.sphere.sdk.customers.Customer;
import io.sphere.sdk.customers.expansion.CustomerExpansionModel;
import io.sphere.sdk.queries.PagedQueryResult;
import io.sphere.sdk.queries.MetaModelQueryDsl;
/**
* Fetches multiple customers.
*
* {@doc.gen summary customers}
*
* Example for fetching a customer by id and expand the customer group:
* {@include.example io.sphere.sdk.customers.queries.CustomerQueryIntegrationTest#customerGroupReferenceExpansion()}
*/
public interface CustomerQuery 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 CustomerQuery of() {
return new CustomerQueryImpl();
}
default CustomerQuery byEmail(final String email) {
return withPredicates(m -> m.lowercaseEmail().is(email.toLowerCase()));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy