Add 'sdk/java-v2/' from commit '55f103e336ca9fb8bf1720d2ef4ee8dd4e221118'
[arvados.git] / sdk / java-v2 / src / main / java / org / arvados / client / api / client / UsersApiClient.java
1 /*
2  * Copyright (C) The Arvados Authors. All rights reserved.
3  *
4  * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
5  *
6  */
7
8 package org.arvados.client.api.client;
9
10 import okhttp3.Request;
11 import org.arvados.client.api.model.User;
12 import org.arvados.client.api.model.UserList;
13 import org.arvados.client.config.ConfigProvider;
14 import org.slf4j.Logger;
15
16 public class UsersApiClient extends BaseStandardApiClient<User, UserList> {
17
18     private static final String RESOURCE = "users";
19     private final Logger log = org.slf4j.LoggerFactory.getLogger(UsersApiClient.class);
20
21     public UsersApiClient(ConfigProvider config) {
22         super(config);
23     }
24
25     public User current() {
26         log.debug("Get current {}", getType().getSimpleName());
27         Request request = getNoArgumentMethodRequest("current");
28         return callForType(request);
29     }
30
31     public User system() {
32         log.debug("Get system {}", getType().getSimpleName());
33         Request request = getNoArgumentMethodRequest("system");
34         return callForType(request);
35     }
36
37     @Override
38     String getResource() {
39         return RESOURCE;
40     }
41
42     @Override
43     Class<User> getType() {
44         return User.class;
45     }
46
47     @Override
48     Class<UserList> getListType() {
49         return UserList.class;
50     }
51 }