aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorDavid Gageot <david@gageot.net>2012-10-01 10:58:42 +0200
committerDavid Gageot <david@gageot.net>2012-10-01 15:03:10 +0200
commit57c87a64a0a545ad81f3859b57d4962260ef6ee3 (patch)
tree6c24b58f8cd7108d04b308f426256b879357219c /sonar-plugin-api
parentd6cac6a13b02ae53896a359df85f7ee0e32b5ac1 (diff)
downloadsonarqube-57c87a64a0a545ad81f3859b57d4962260ef6ee3.tar.gz
sonarqube-57c87a64a0a545ad81f3859b57d4962260ef6ee3.zip
SONAR-3529 Better look. Use field property type
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/PropertyField.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyFieldDefinition.java7
3 files changed, 19 insertions, 2 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/PropertyField.java b/sonar-plugin-api/src/main/java/org/sonar/api/PropertyField.java
index 4f2c9e18dce..c8114b724da 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/PropertyField.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/PropertyField.java
@@ -33,7 +33,7 @@ import java.lang.annotation.Target;
@Target(ElementType.TYPE)
public @interface PropertyField {
/**
- * Unique key within a property.
+ * Unique key within a property. It shouldn't be prefixed.
*/
String key();
@@ -42,8 +42,16 @@ public @interface PropertyField {
*/
String defaultValue() default "";
+ /**
+ * This name will be displayed on the Settings page. This can be overridden/translated
+ * by adding a a value for: <code>field.{key of parent property}.{key of this field}.name</code> in the language bundle.
+ */
String name();
+ /**
+ * If not empty, this description will be displayed on the Settings page. This can be overridden/translated
+ * by adding a a value for: <code>field.{key of parent property}.{key of this field}.description</code> in the language bundle.
+ */
String description() default "";
PropertyType type() default PropertyType.STRING;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
index 7e497b49aaa..6025d79bd44 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
@@ -114,6 +114,10 @@ public final class PropertyDefinition {
}
public Result validate(@Nullable String value) {
+ return validate(type, value, options);
+ }
+
+ static Result validate(PropertyType type, @Nullable String value, String[] options) {
if (StringUtils.isNotBlank(value)) {
if (type == PropertyType.BOOLEAN) {
if (!StringUtils.equalsIgnoreCase(value, "true") && !StringUtils.equalsIgnoreCase(value, "false")) {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyFieldDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyFieldDefinition.java
index 51775b7fe4a..2a941b7a71c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyFieldDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyFieldDefinition.java
@@ -22,6 +22,8 @@ package org.sonar.api.config;
import org.sonar.api.PropertyField;
import org.sonar.api.PropertyType;
+import javax.annotation.Nullable;
+
/**
* @since 3.3
*/
@@ -56,7 +58,6 @@ public final class PropertyFieldDefinition {
return definitions;
}
-
public String getKey() {
return key;
}
@@ -80,4 +81,8 @@ public final class PropertyFieldDefinition {
public String getDescription() {
return description;
}
+
+ public PropertyDefinition.Result validate(@Nullable String value) {
+ return PropertyDefinition.validate(type, value, options);
+ }
}