public interface Api extends Closeable
All callXxx methods, if the API is not yet authenticated, will issue an authenticate() call automatically
before making the actual call. If the user session expires, it will try to re-authenticate using the credentials
provided initially.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Api.EntityDescriptor<E extends Entity,S extends Search> |
static class |
Api.MethodDescriptor<P extends AuthenticatedParameters,R> |
static interface |
Api.MultiCallBuilder |
| Modifier and Type | Field and Description |
|---|---|
static String |
Add
Deprecated.
|
static String |
Get
Deprecated.
|
static String |
GetCountOf
Deprecated.
|
static String |
GetFeed
Deprecated.
|
static String |
Remove
Deprecated.
|
static String |
Set
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
LoginResult |
authenticate()
Authenticates a user and provides a
LoginResult if successful. |
Api.MultiCallBuilder |
buildMultiCall()
Builds a type-safe API multi-call.
|
<O extends BaseResponse<T>,T> |
call(AuthenticatedRequest<?> in,
Class<O> outT)
Deprecated.
use
callResult(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>) instead and specify the result type instead of the response type. |
default <E extends Entity> |
callAdd(Api.EntityDescriptor<E,?> type,
E entity)
Makes a type-safe Add call.
|
default Optional<Id> |
callAdd(AuthenticatedParameters in)
Makes an Add call.
|
Optional<Id> |
callAdd(AuthenticatedRequest<?> in)
Makes an Add call.
|
default <E extends Entity,S extends Search> |
callGet(Api.EntityDescriptor<E,S> type,
S search)
Makes a type-safe Get call.
|
default <E extends Entity,S extends Search> |
callGet(Api.EntityDescriptor<E,S> type,
S search,
@Nullable Integer resultLimit)
Makes a type-safe Get call.
|
<T extends Entity> |
callGet(AuthenticatedRequest<?> in,
Class<T> outT)
Makes a Get call.
|
default <T extends Entity> |
callGet(SearchParameters<?> in,
Class<T> outT)
Makes a Get call.
|
default <E extends Entity> |
callGetAll(Api.EntityDescriptor<E,?> type)
Makes a type-safe Get call to query all entities.
|
default <E extends Entity> |
callGetById(Api.EntityDescriptor<E,?> type,
String id)
Makes a type-safe Get call to query by ID.
|
default <E extends Entity,S extends Search> |
callGetCountOf(Api.EntityDescriptor<E,S> type,
S search)
Makes a type-safe GetCountOf call.
|
Optional<Integer> |
callGetCountOf(AuthenticatedRequest<?> in)
Makes a GetCountOf call.
|
default Optional<Integer> |
callGetCountOf(SearchParameters<?> in)
Makes a GetCountOf call.
|
default <E extends Entity,S extends Search> |
callGetFeed(Api.EntityDescriptor<E,S> type,
S search,
@Nullable String fromVersion,
@Nullable Integer resultLimit)
Makes a type-safe GetFeed call.
|
<T extends Entity> |
callGetFeed(AuthenticatedRequest<?> in,
Class<T> outT)
Makes a GetFeed call.
|
default <T extends Entity> |
callGetFeed(GetFeedParameters<?> in,
Class<T> outT)
Makes a GetFeed call.
|
<P extends AuthenticatedParameters,R> |
callMethod(Api.MethodDescriptor<P,R> method,
P in)
Makes a web method call.
|
default <E extends Entity,S extends Search> |
callRemove(Api.EntityDescriptor<E,S> type,
E entity)
Makes a type-safe Remove call.
|
default void |
callRemove(AuthenticatedParameters in)
Makes a Remove call.
|
void |
callRemove(AuthenticatedRequest<?> in)
Makes a Remove call.
|
<T> Optional<T> |
callResult(AuthenticatedRequest<?> in,
Class<T> outT)
Makes a custom method API call specifying the result type.
|
<T> Optional<List<T>> |
callResultList(AuthenticatedRequest<?> in,
Class<T> outT)
Makes a custom method API call specifying the element type of list result type.
|
default <E extends Entity> |
callSet(Api.EntityDescriptor<E,?> type,
E entity)
Makes a type-safe Set call.
|
default void |
callSet(AuthenticatedParameters in)
Makes a Set call.
|
void |
callSet(AuthenticatedRequest<?> in)
Makes a Set call.
|
static <E extends Entity,S extends Search> |
entity(Class<E> type) |
boolean |
isAuthenticated()
Check if the API is authenticated.
|
static <P extends AuthenticatedParameters,R> |
method(String name,
Class<? super R> result,
Class<?>... parameterClasses) |
<O extends BaseResponse<T>,T> |
multiCall(MultiCallRequest in,
Class<O> outT)
Deprecated.
use {
buildMultiCall()} instead. |
<T> Optional<List<T>> |
uniformMultiCall(List<? extends BaseRequest<?>> calls,
Class<T> outT)
Deprecated.
use {
buildMultiCall()} instead. |
static final String Add
callAdd(com.geotab.http.request.AuthenticatedRequest<?>) instead.static final String Get
callGet(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>) instead.static final String GetCountOf
callGetCountOf(com.geotab.http.request.AuthenticatedRequest<?>) instead.static final String GetFeed
callGetFeed(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>) instead.static final String Remove
callRemove(com.geotab.http.request.AuthenticatedRequest<?>) instead.static final String Set
callSet(com.geotab.http.request.AuthenticatedRequest<?>) instead.LoginResult authenticate()
LoginResult if successful. It contains the Credentials property
that can be used for further API calls. A result of LoginResult.Path = "ThisServer" occurs when the user is found
on the current server. Otherwise, a server name is returned and the client must redirect to this new server name.
Maximum 10 Authentication requests per minute, per user.
InvalidUserException - Invalid user or password.DbUnavailableException - Database unavailable.OverLimitException - Limit overflow.boolean isAuthenticated()
Should be authenticated only after explicit call to authenticate() or any of the callXxx
methods.
<O extends BaseResponse<T>,T> Optional<T> call(AuthenticatedRequest<?> in, Class<O> outT)
callResult(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>) instead and specify the result type instead of the response type.callGet(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>), callGetFeed(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>), callAdd(com.geotab.http.request.AuthenticatedRequest<?>), call{Method}, etc.) instead.<T> Optional<T> callResult(AuthenticatedRequest<?> in, Class<T> outT)
callGet(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>), callGetFeed(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>), callAdd(com.geotab.http.request.AuthenticatedRequest<?>), call{Method}, etc.) instead.<T> Optional<List<T>> callResultList(AuthenticatedRequest<?> in, Class<T> outT)
<P extends AuthenticatedParameters,R> Optional<R> callMethod(Api.MethodDescriptor<P,R> method, P in)
WARNING: Experimental API.
Optional<Id> callAdd(AuthenticatedRequest<?> in)
default Optional<Id> callAdd(AuthenticatedParameters in)
default <E extends Entity> Optional<Id> callAdd(Api.EntityDescriptor<E,?> type, E entity)
WARNING: Experimental API.
<T extends Entity> Optional<List<T>> callGet(AuthenticatedRequest<?> in, Class<T> outT)
default <T extends Entity> Optional<List<T>> callGet(SearchParameters<?> in, Class<T> outT)
default <E extends Entity,S extends Search> Optional<List<E>> callGet(Api.EntityDescriptor<E,S> type, @Nullable S search)
WARNING: Experimental API.
default <E extends Entity,S extends Search> Optional<List<E>> callGet(Api.EntityDescriptor<E,S> type, @Nullable S search, @Nullable @Nullable Integer resultLimit)
WARNING: Experimental API.
default <E extends Entity> Optional<List<E>> callGetAll(Api.EntityDescriptor<E,?> type)
WARNING: Experimental API.
default <E extends Entity> Optional<E> callGetById(Api.EntityDescriptor<E,?> type, String id)
WARNING: Experimental API.
Optional<Integer> callGetCountOf(AuthenticatedRequest<?> in)
default Optional<Integer> callGetCountOf(SearchParameters<?> in)
default <E extends Entity,S extends Search> Optional<Integer> callGetCountOf(Api.EntityDescriptor<E,S> type, S search)
WARNING: Experimental API.
<T extends Entity> Optional<FeedResult<T>> callGetFeed(AuthenticatedRequest<?> in, Class<T> outT)
default <T extends Entity> Optional<FeedResult<T>> callGetFeed(GetFeedParameters<?> in, Class<T> outT)
default <E extends Entity,S extends Search> Optional<List<E>> callGetFeed(Api.EntityDescriptor<E,S> type, S search, @Nullable @Nullable String fromVersion, @Nullable @Nullable Integer resultLimit)
WARNING: Experimental API.
void callSet(AuthenticatedRequest<?> in)
default void callSet(AuthenticatedParameters in)
default <E extends Entity> void callSet(Api.EntityDescriptor<E,?> type, E entity)
WARNING: Experimental API.
void callRemove(AuthenticatedRequest<?> in)
default void callRemove(AuthenticatedParameters in)
default <E extends Entity,S extends Search> void callRemove(Api.EntityDescriptor<E,S> type, E entity)
WARNING: Experimental API.
<O extends BaseResponse<T>,T> Optional<T> multiCall(MultiCallRequest in, Class<O> outT)
buildMultiCall()} instead.Response type needs to be constructed based on the multi-call response types expected. The API "result" is going to be an array, where each item is the result of the corresponding call.
in - MultiCallRequest request.outT - Response type class, used to deserialize the response.<T> Optional<List<T>> uniformMultiCall(List<? extends BaseRequest<?>> calls, Class<T> outT)
buildMultiCall()} instead.All requests must return the same type. This method combine all responses sequentially into a single list. E.g. if 3 device search requests are made and each request returns 2 devices a single list with 6 devices is returned.
WARNING: Experimental API.
calls - List of requests. All request must have the same result type.outT - The common type of all requests.Api.MultiCallBuilder buildMultiCall()
Api.MultiCallBuilder.callResult(com.geotab.http.request.AuthenticatedRequest<?>, java.lang.Class<T>) and finalize it
calling Api.MultiCallBuilder.execute(). The builder can not be reused and Api.MultiCallBuilder.execute() is
always the last call.
WARNING: Experimental API.
static <P extends AuthenticatedParameters,R> Api.MethodDescriptor<P,R> method(String name, Class<? super R> result, Class<?>... parameterClasses)
static <E extends Entity,S extends Search> Api.EntityDescriptor<E,S> entity(Class<E> type)
Copyright © 2023. All rights reserved.