diff options
-rw-r--r-- | java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java | 15 |
1 files 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; } |