diff --git a/ipojo/annotations/src/main/java/org/apache/felix/ipojo/handler/temporal/Temporal.java b/ipojo/annotations/src/main/java/org/apache/felix/ipojo/handler/temporal/Temporal.java
index 70e96bf..0cb314c 100644
--- a/ipojo/annotations/src/main/java/org/apache/felix/ipojo/handler/temporal/Temporal.java
+++ b/ipojo/annotations/src/main/java/org/apache/felix/ipojo/handler/temporal/Temporal.java
@@ -24,25 +24,32 @@
 /**
  * Temporal dependency annotation.
  * Allows specifying a temporal dependency.
- * Be aware that despite is it provided in the annotations jar, 
+ * Be aware that despite is it provided in the annotations jar,
  * it refers to an external handler.
+ *
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
 @Target(ElementType.FIELD)
 public @interface Temporal {
-    
+
+    /**
+     * Set the dependency id.
+     * Default : empty, will use the field name.
+     */
+    String id() default "";
+
     /**
      * Set the LDAP filter of the dependency.
      * Default : no filter
      */
     String filter() default "";
-   
+
     /**
      * Timeout of the dependency.
      * Default : true
      */
     long timeout() default 3000;
-    
+
     /**
      * Set the on timeout action.
      * Supports null, nullable, empty, and default-implementation.
@@ -51,13 +58,13 @@
      * Default: no action (i.e throws a runtime exception)
      */
     String onTimeout() default "";
-    
+
     /**
      * Set the service specification (for Collection fields).
      * This attribute is mandatory for Collections.
      */
     String specification() default "";
-    
+
     /**
      * Inject a proxy instead of the real object.
      * This allows passing this reference to collaborators.
