All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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