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
This commit is contained in:
edwardsmj 2009-10-02 12:57:38 +00:00
parent 1086b6f580
commit acd7c43a39

View file

@ -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;
}