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