diff options
author | David Gageot <david@gageot.net> | 2012-10-01 10:58:42 +0200 |
---|---|---|
committer | David Gageot <david@gageot.net> | 2012-10-01 15:03:10 +0200 |
commit | 57c87a64a0a545ad81f3859b57d4962260ef6ee3 (patch) | |
tree | 6c24b58f8cd7108d04b308f426256b879357219c /sonar-plugin-api | |
parent | d6cac6a13b02ae53896a359df85f7ee0e32b5ac1 (diff) | |
download | sonarqube-57c87a64a0a545ad81f3859b57d4962260ef6ee3.tar.gz sonarqube-57c87a64a0a545ad81f3859b57d4962260ef6ee3.zip |
SONAR-3529 Better look. Use field property type
Diffstat (limited to 'sonar-plugin-api')
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); + } } |