001package io.dinject.core;
002
003/**
004 * Hold bean dependency meta data intended for internal use by code generation (Java annotation processing).
005 */
006public @interface DependencyMeta {
007
008  /**
009   * The bean type.
010   */
011  String type();
012
013  /**
014   * The qualified name of the dependency being provided.
015   */
016  String name() default "";
017
018  /**
019   * The bean factory method (for <code>@Bean</code> annotated methods).
020   */
021  String method() default "";
022
023  /**
024   * The interfaces the bean implements.
025   */
026  String[] provides() default {};
027
028  /**
029   * The list of dependencies.
030   */
031  String[] dependsOn() default {};
032
033}