public @interface Owned

Mark a method or method argument to specify ownership.

Marking a argument means that the owner of the value will be the callee. Marking a method means that the owner of the returned value will be the caller.

For example, in the case of an Objective-C method this annotation will indicate that whether the method returns the object with only retaining or with retaining and auto-releasing it.