diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2014-02-21 19:32:40 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2014-02-21 19:32:40 +0100 |
commit | ebf7643e81af44e8fd06ac0d7a8cf1175946dba7 (patch) | |
tree | 1ef4a1a6a2847ffb8e5c5b3e33ccd4ec8ba7bf85 /sonar-plugin-api | |
parent | c49b05d030f2bb87740d92eeb5626697239993f9 (diff) | |
download | sonarqube-ebf7643e81af44e8fd06ac0d7a8cf1175946dba7.tar.gz sonarqube-ebf7643e81af44e8fd06ac0d7a8cf1175946dba7.zip |
SONAR-926 Add module key information on components for IntelliJ
Diffstat (limited to 'sonar-plugin-api')
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(); } |