Exit Full View

Feather2 / feather2-runtime / src / main / java / uk / co / nickthecoder / feather / runtime / ParameterNames.java

package uk.co.nickthecoder.feather.runtime;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Feather automatically add this annotation to all constructors and methods,
 * when FeatherConfiguration.includeMetaData == true.
 * <p>
 * This can be used in conjunction with JVM's reflection features to find the parameter names used
 * by constructors or methods.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD})
public @interface ParameterNames {
    /**
     * A comma separated list of parameter names.
     * No additional whitespace is included.
     */
    String parameterNames() default "";
}