/* This file is part of Reactive Cascade which is released under The MIT License. See license.md , https://github.com/futurice/cascade and http://reactivecascade.com for details. This is open source for the common good. Please contribute improvements by pull request or contact paulirotta@gmail.com */ package com.reactivecascade.i; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * This annotation on your classes helps the debugOrigin assist find where your async * operations "originated" (was created). See also * {@link CallOrigin} as a way to positively select classes * and methods of interest. * <p> * The library records a pointer to the "most interesting" method at the time an * {@link IAltFuture} is * created. Mark your class and/or method with this annotation if that part of the code * is for example a utility * that is not particularly interesting to the business logic as the runtime "originAsync" * of an asynchronous operation. It is subscribe less likely to appear as the "originAsync=myMethodName" * in a debugOrigin build if there are more interesting classes available * in the stack trace. */ @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) public @interface NotCallOrigin { }