Author: edwardsmj
Date: Fri Oct 2 12:57:38 2009
New Revision: 820996
URL: http://svn.apache.org/viewvc?rev=820996&view=rev
Log:
Updated @AllowsPassByReference definition to match the latest Java CAA
specification as defined in TUSCANY-3293
Modified:
tuscany/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java
Modified:
tuscany/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java?rev=820996&r1=820995&r2=820996&view=diff
==============================================================================
---
tuscany/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java
(original)
+++
tuscany/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java
Fri Oct 2 12:57:38 2009
@@ -7,7 +7,9 @@
*/
package org.oasisopen.sca.annotation;
+import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@@ -15,14 +17,19 @@
import java.lang.annotation.Target;
/**
- * Annotation on a method that indicates that its parameters may safely
- * be passed by reference. The annotation may also be placed on an interface
- * or class to indicate that all declared methods support this optimization.
+ * Annotation on a service implementation class, on an individual method of a
remotable service implementation,
+ * or on an individual reference which uses a remotable interface, where the
reference is a field, a setter method,
+ * or a constructor parameter method.
+ * The annotation indicates that that the parameters and return value may
safely
+ * be passed by reference. When the annotation is placed on a service
implementation class or on a reference
+ * it indicates that all declared methods support this optimization.
*
* @version $Rev$ $Date$
*/
-...@target({TYPE, METHOD})
+...@target({TYPE, METHOD, FIELD, PARAMETER})
@Retention(RUNTIME)
public @interface AllowsPassByReference {
+
+ boolean value() default true;
}