
ru.progrm_jarvis.javacommons.ownership.annotation.Ref Maven / Gradle / Ivy
package ru.progrm_jarvis.javacommons.ownership.annotation;
import java.lang.annotation.*;
/**
* Marker indicating the non-owner of a mutable object.
* It is intended only for use with mutable types
* for which it will indicate whether or not the operated object should be cloned for modification
* Owner depends on the target:
*
* - parameter
* - caller of the method whose parameter it is
*
* - return type
* - method whose returned value it is
*
*
* @see Own counterpart
*/
@Documented
@Retention(RetentionPolicy.CLASS) // keep even if sources are unavailable
@Target(ElementType.TYPE_USE /* to allow on return type */)
public @interface Ref {}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy