FELIX-1010 : Add several diffferently typed properties to the property tag.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@774907 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr-annotations/pom.xml b/scr-annotations/pom.xml
index d26196d..e6385d3 100644
--- a/scr-annotations/pom.xml
+++ b/scr-annotations/pom.xml
@@ -20,9 +20,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>felix</artifactId>
+ <artifactId>felix-parent</artifactId>
<groupId>org.apache.felix</groupId>
- <version>1.0.4</version>
+ <version>1.2.0</version>
<relativePath>../pom/pom.xml</relativePath>
</parent>
diff --git a/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Property.java b/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Property.java
index c3c624b..c4a7910 100644
--- a/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Property.java
+++ b/scr-annotations/src/main/java/org/apache/felix/scr/annotations/Property.java
@@ -60,15 +60,66 @@
* The value(s) of the property. If the property type is not String, parsing
* of the value is done using the valueOf(String) method of the class
* defined by the property type.
+ * This attribute should not be used in combination with any of the other
+ * value attributes.
*/
String[] value() default "";
/**
- * The type of the property value. This must be one of {@link String},
- * {@link Long}, {@link Double}, {@link Float}, {@link Integer},
- * {@link Byte}, {@link Character}, {@link Boolean} and {@link Short}.
+ * The long value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
*/
- Class<?> type() default AutoDetect.class;
+ long[] longValue() default 0;
+
+ /**
+ * The double value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes.
+ */
+ double[] doubleValue() default 0.0;
+
+ /**
+ * The float value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
+ */
+ float[] floatValue() default 0;
+
+ /**
+ * The int value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
+ */
+ int[] intValue() default 0;
+
+ /**
+ * The byte value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
+ */
+ byte[] byteValue() default 0;
+
+ /**
+ * The char value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
+ */
+ char[] charValue() default '\0';
+
+ /**
+ * The bool value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
+ */
+ boolean[] boolValue() default false;
+
+ /**
+ * The short value(s) of the property.
+ * This attribute should not be used in combination with any of the other
+ * value attributes or the type attribute.
+ */
+ short[] shortValue() default 0;
/**
* Defines the cardinality of the property and its collection type. If the