From acd7c43a39f69cb86c48f3b5262be3c1f5236f13 Mon Sep 17 00:00:00 2001 From: edwardsmj Date: Fri, 2 Oct 2009 12:57:38 +0000 Subject: Updated @AllowsPassByReference definition to match the latest Java CAA specification as defined in TUSCANY-3293 git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@820996 13f79535-47bb-0310-9956-ffa450edef68 --- .../oasisopen/sca/annotation/AllowsPassByReference.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java index dbc08a7655..e005da2414 100644 --- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java +++ b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java @@ -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.Retention; 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; } -- cgit v1.2.3