
b4j.core.session.bugzilla.BugzillaUserRestClient Maven / Gradle / Ivy
/*
* This file is part of Bugzilla for Java.
*
* Bugzilla for Java is free software: you can redistribute it
* and/or modify it under the terms of version 3 of the GNU
* Lesser General Public License as published by the Free Software
* Foundation.
*
* Bugzilla for Java is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Bugzilla for Java. If not, see
* .
*/
package b4j.core.session.bugzilla;
import java.util.Collection;
import b4j.core.User;
import com.atlassian.util.concurrent.Promise;
/**
* Interface for user REST clients.
* @see Bugzilla::WebService::User
* @author ralph
* @since 2.0
*
*/
public interface BugzillaUserRestClient {
/**
* Performs a user login.
*
* @param user username
* @param password password
*
* @return user logged in
* @since 2.0
*/
public User login(String user, String password);
/**
* Logs out.
*
* @since 2.0
*/
public void logout();
/**
* Retrieves information about users.
*
* @param ids IDs of users
* @return information about users
* @since 2.0
*/
public Promise> getUsers(long... ids);
/**
* Retrieves information about users.
*
* @param names names of users
* @return information about users
* @since 2.0
*/
public Promise> getUsersByName(String... names);
/**
* Retrieves information about users.
*
* @param ids IDs of users
* @return information about users
* @since 2.0
*/
public Promise> getUsers(Collection ids);
/**
* Retrieves information about users.
*
* @param names names of users
* @return information about users
* @since 2.0
*/
public Promise> getUsersByName(Collection names);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy