001/* 002 * SonarQube 003 * Copyright (C) 2009-2016 SonarSource SA 004 * mailto:contact AT sonarsource DOT com 005 * 006 * This program is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU Lesser General Public 008 * License as published by the Free Software Foundation; either 009 * version 3 of the License, or (at your option) any later version. 010 * 011 * This program is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 014 * Lesser General Public License for more details. 015 * 016 * You should have received a copy of the GNU Lesser General Public License 017 * along with this program; if not, write to the Free Software Foundation, 018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 019 */ 020package org.sonarqube.ws.client; 021 022import org.sonarqube.ws.client.ce.CeService; 023import org.sonarqube.ws.client.component.ComponentsService; 024import org.sonarqube.ws.client.issue.IssuesService; 025import org.sonarqube.ws.client.measure.MeasuresService; 026import org.sonarqube.ws.client.permission.PermissionsService; 027import org.sonarqube.ws.client.project.ProjectsService; 028import org.sonarqube.ws.client.qualitygate.QualityGatesService; 029import org.sonarqube.ws.client.qualityprofile.QualityProfilesService; 030import org.sonarqube.ws.client.rule.RulesService; 031import org.sonarqube.ws.client.system.SystemService; 032import org.sonarqube.ws.client.usertoken.UserTokensService; 033 034/** 035 * Allows to request the web services of SonarQube server. Instance is provided by 036 * {@link WsClientFactory}. 037 * 038 * <p> 039 * Usage: 040 * <pre> 041 * HttpConnector httpConnector = HttpConnector.newBuilder() 042 * .url("http://localhost:9000") 043 * .credentials("admin", "admin") 044 * .build(); 045 * WsClient wsClient = WsClientFactories.getDefault().newClient(httpConnector); 046 * wsClient.issues().search(issueRequest); 047 * </pre> 048 * </p> 049 * 050 * @since 5.3 051 */ 052public interface WsClient { 053 ComponentsService components(); 054 055 IssuesService issues(); 056 057 PermissionsService permissions(); 058 059 QualityProfilesService qualityProfiles(); 060 061 UserTokensService userTokens(); 062 063 QualityGatesService qualityGates(); 064 065 MeasuresService measures(); 066 067 SystemService system(); 068 069 CeService ce(); 070 071 RulesService rules(); 072 073 WsConnector wsConnector(); 074 075 /** 076 * @since 5.5 077 */ 078 ProjectsService projects(); 079}