*/
package org.sonar.server.dashboard.ws;
+import org.sonar.api.server.ws.Definable;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.WebService;
-public interface DashboardsAction extends RequestHandler {
+public interface DashboardsAction extends RequestHandler, Definable<WebService.NewController> {
- void define(WebService.NewController controller);
+ // Marker interface
}
*/
package org.sonar.server.issue.ws;
+import org.sonar.api.server.ws.Definable;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.WebService;
-interface BaseIssuesWsAction extends RequestHandler {
+interface BaseIssuesWsAction extends RequestHandler, Definable<WebService.NewController> {
- void define(WebService.NewController controller);
+ // Marker interface
}
package org.sonar.server.platform.ws;
+import org.sonar.api.server.ws.Definable;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.WebService;
-public interface SystemWsAction extends RequestHandler {
+public interface SystemWsAction extends RequestHandler, Definable<WebService.NewController> {
- void define(WebService.NewController controller);
+ // Marker interface
}
*/
package org.sonar.server.qualityprofile.ws;
+import org.sonar.api.server.ws.Definable;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.WebService;
/**
* Marker interface for quality profile related web service end points
*/
-public interface BaseQProfileWsAction extends RequestHandler {
+public interface BaseQProfileWsAction extends RequestHandler, Definable<WebService.NewController> {
- void define(WebService.NewController controller);
+ // Marker interface
}
*/
package org.sonar.server.rule.ws;
+import org.sonar.api.server.ws.Definable;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.WebService;
/**
* Marker interface for coding rule related actions
- * @author jblievremont
*
*/
-interface RulesAction extends RequestHandler {
+interface RulesAction extends RequestHandler, Definable<WebService.NewController> {
- void define(WebService.NewController controller);
+ // Marker interface
}
package org.sonar.server.source.ws;
+import org.sonar.api.server.ws.Definable;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.WebService;
-public interface SourcesAction extends RequestHandler {
-
- void define(WebService.NewController controller);
+public interface SourcesAction extends RequestHandler, Definable<WebService.NewController> {
+ // Marker interface
}
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube 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 this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.api.server.ws;
+
+public interface Definable<T> {
+
+ void define(T context);
+}
import java.io.IOException;
import java.net.URL;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
/**
* Defines a web service. Note that contrary to the deprecated {@link org.sonar.api.web.Webservice}
*
* @since 4.2
*/
-public interface WebService extends ServerExtension {
+public interface WebService extends ServerExtension, Definable<WebService.Context> {
class Context {
private final Map<String, Controller> controllers = Maps.newHashMap();