aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2014-02-21 19:32:40 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2014-02-21 19:32:40 +0100
commitebf7643e81af44e8fd06ac0d7a8cf1175946dba7 (patch)
tree1ef4a1a6a2847ffb8e5c5b3e33ccd4ec8ba7bf85 /sonar-plugin-api
parentc49b05d030f2bb87740d92eeb5626697239993f9 (diff)
downloadsonarqube-ebf7643e81af44e8fd06ac0d7a8cf1175946dba7.tar.gz
sonarqube-ebf7643e81af44e8fd06ac0d7a8cf1175946dba7.zip
SONAR-926 Add module key information on components for IntelliJ
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/component/Component.java13
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/component/mock/MockSourceFile.java11
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java5
3 files changed, 29 insertions, 0 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/component/Component.java b/sonar-plugin-api/src/main/java/org/sonar/api/component/Component.java
index 064f51f37fc..1002b568043 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/component/Component.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/component/Component.java
@@ -19,14 +19,27 @@
*/
package org.sonar.api.component;
+import javax.annotation.CheckForNull;
+
public interface Component<C extends Component> {
String key();
/**
+ * Path of the component relative to basedir of the parent module.
+ * @return null if this component is not a child of a module
* @since 4.2
*/
+ @CheckForNull
String path();
+ /**
+ * Key of the module this component belong to.
+ * @return null for components that are module themself
+ * @since 4.2
+ */
+ @CheckForNull
+ String moduleKey();
+
String name();
String longName();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/component/mock/MockSourceFile.java b/sonar-plugin-api/src/main/java/org/sonar/api/component/mock/MockSourceFile.java
index 428c17a5a4c..096f622cfea 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/component/mock/MockSourceFile.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/component/mock/MockSourceFile.java
@@ -24,6 +24,7 @@ import org.sonar.api.component.SourceFile;
public class MockSourceFile implements SourceFile {
private String key;
private String path;
+ private String moduleKey;
private String qualifier;
private String language;
private String name;
@@ -51,6 +52,16 @@ public class MockSourceFile implements SourceFile {
return this;
}
+ @Override
+ public String moduleKey() {
+ return moduleKey;
+ }
+
+ public MockSourceFile setModuleKey(String moduleKey) {
+ this.moduleKey = moduleKey;
+ return this;
+ }
+
public String qualifier() {
return qualifier;
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java
index b19a32bcf7f..cfc451e014f 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java
@@ -493,6 +493,11 @@ public class Project extends Resource implements Component {
}
@Override
+ public String moduleKey() {
+ return null;
+ }
+
+ @Override
public String name() {
return getName();
}