/* * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved. * OASIS trademark, IPR and other policies apply. */ 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; import java.lang.annotation.Retention; import java.lang.annotation.Target; /** * 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, FIELD, PARAMETER}) @Retention(RUNTIME) public @interface AllowsPassByReference { boolean value() default true; }