001/* 002 * Copyright (c) 2012-2017 Institut National des Sciences Appliquées de Lyon (INSA-Lyon) 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 */ 009package gololang.annotations; 010 011import java.lang.annotation.Documented; 012import java.lang.annotation.ElementType; 013import java.lang.annotation.Retention; 014import java.lang.annotation.RetentionPolicy; 015import java.lang.annotation.Target; 016 017/** 018 * <code>@DecoratedBy</code> is used to define the reference to the decorator on a decorated function. 019 * 020 * Mainly used for internal stuff, this annotation can be useful to create decorated function in Java. 021 */ 022@Retention(RetentionPolicy.RUNTIME) 023@Target(ElementType.METHOD) 024@Documented 025public @interface DecoratedBy { 026 /** 027 * This is the reference to the decorator function. 028 * 029 * @return the reference to the decorator function. 030 */ 031 String value(); 032}