1*3ff81872SXin Li<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2*3ff81872SXin Li<!--NewPage--> 3*3ff81872SXin Li<HTML> 4*3ff81872SXin Li<HEAD> 5*3ff81872SXin Li<!-- Generated by javadoc (build 1.5.0_16) on Mon Oct 12 16:11:19 PDT 2009 --> 6*3ff81872SXin Li<TITLE> 7*3ff81872SXin LiQualifier 8*3ff81872SXin Li</TITLE> 9*3ff81872SXin Li 10*3ff81872SXin Li<META NAME="keywords" CONTENT="javax.inject.Qualifier class"> 11*3ff81872SXin Li 12*3ff81872SXin Li<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"> 13*3ff81872SXin Li 14*3ff81872SXin Li<SCRIPT type="text/javascript"> 15*3ff81872SXin Lifunction windowTitle() 16*3ff81872SXin Li{ 17*3ff81872SXin Li parent.document.title="Qualifier"; 18*3ff81872SXin Li} 19*3ff81872SXin Li</SCRIPT> 20*3ff81872SXin Li<NOSCRIPT> 21*3ff81872SXin Li</NOSCRIPT> 22*3ff81872SXin Li 23*3ff81872SXin Li</HEAD> 24*3ff81872SXin Li 25*3ff81872SXin Li<BODY BGCOLOR="white" onload="windowTitle();"> 26*3ff81872SXin Li 27*3ff81872SXin Li 28*3ff81872SXin Li<!-- ========= START OF TOP NAVBAR ======= --> 29*3ff81872SXin Li<A NAME="navbar_top"><!-- --></A> 30*3ff81872SXin Li<A HREF="#skip-navbar_top" title="Skip navigation links"></A> 31*3ff81872SXin Li<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 32*3ff81872SXin Li<TR> 33*3ff81872SXin Li<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 34*3ff81872SXin Li<A NAME="navbar_top_firstrow"><!-- --></A> 35*3ff81872SXin Li<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 36*3ff81872SXin Li <TR ALIGN="center" VALIGN="top"> 37*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../javax/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 38*3ff81872SXin Li <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 39*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 40*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 41*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 42*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 43*3ff81872SXin Li </TR> 44*3ff81872SXin Li</TABLE> 45*3ff81872SXin Li</TD> 46*3ff81872SXin Li<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 47*3ff81872SXin Li</EM> 48*3ff81872SXin Li</TD> 49*3ff81872SXin Li</TR> 50*3ff81872SXin Li 51*3ff81872SXin Li<TR> 52*3ff81872SXin Li<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 53*3ff81872SXin Li <A HREF="../../javax/inject/Provider.html" title="interface in javax.inject"><B>PREV CLASS</B></A> 54*3ff81872SXin Li <A HREF="../../javax/inject/Scope.html" title="annotation in javax.inject"><B>NEXT CLASS</B></A></FONT></TD> 55*3ff81872SXin Li<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 56*3ff81872SXin Li <A HREF="../../index.html?javax/inject/Qualifier.html" target="_top"><B>FRAMES</B></A> 57*3ff81872SXin Li <A HREF="Qualifier.html" target="_top"><B>NO FRAMES</B></A> 58*3ff81872SXin Li <SCRIPT type="text/javascript"> 59*3ff81872SXin Li <!-- 60*3ff81872SXin Li if(window==top) { 61*3ff81872SXin Li document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>'); 62*3ff81872SXin Li } 63*3ff81872SXin Li //--> 64*3ff81872SXin Li</SCRIPT> 65*3ff81872SXin Li<NOSCRIPT> 66*3ff81872SXin Li <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A> 67*3ff81872SXin Li</NOSCRIPT> 68*3ff81872SXin Li 69*3ff81872SXin Li 70*3ff81872SXin Li</FONT></TD> 71*3ff81872SXin Li</TR> 72*3ff81872SXin Li<TR> 73*3ff81872SXin Li<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 74*3ff81872SXin Li SUMMARY: REQUIRED | OPTIONAL</FONT></TD> 75*3ff81872SXin Li<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 76*3ff81872SXin LiDETAIL: ELEMENT</FONT></TD> 77*3ff81872SXin Li</TR> 78*3ff81872SXin Li</TABLE> 79*3ff81872SXin Li<A NAME="skip-navbar_top"></A> 80*3ff81872SXin Li<!-- ========= END OF TOP NAVBAR ========= --> 81*3ff81872SXin Li 82*3ff81872SXin Li<HR> 83*3ff81872SXin Li<!-- ======== START OF CLASS DATA ======== --> 84*3ff81872SXin Li<H2> 85*3ff81872SXin Li<FONT SIZE="-1"> 86*3ff81872SXin Lijavax.inject</FONT> 87*3ff81872SXin Li<BR> 88*3ff81872SXin LiAnnotation Type Qualifier</H2> 89*3ff81872SXin Li<HR> 90*3ff81872SXin Li<DL> 91*3ff81872SXin Li<DT><PRE><FONT SIZE="-1">@Target(value=ANNOTATION_TYPE) 92*3ff81872SXin Li@Retention(value=RUNTIME) 93*3ff81872SXin Li@Documented 94*3ff81872SXin Li</FONT>public @interface <B>Qualifier</B></DL> 95*3ff81872SXin Li</PRE> 96*3ff81872SXin Li 97*3ff81872SXin Li<P> 98*3ff81872SXin LiIdentifies qualifier annotations. Anyone can define a new qualifier. A 99*3ff81872SXin Li qualifier annotation: 100*3ff81872SXin Li 101*3ff81872SXin Li <ul> 102*3ff81872SXin Li <li>is annotated with <code>@Qualifier</code>, <code>@Retention(RUNTIME)</code>, 103*3ff81872SXin Li and typically <code>@Documented</code>.</li> 104*3ff81872SXin Li <li>can have attributes.</li> 105*3ff81872SXin Li <li>may be part of the public API, much like the dependency type, but 106*3ff81872SXin Li unlike implementation types which needn't be part of the public 107*3ff81872SXin Li API.</li> 108*3ff81872SXin Li <li>may have restricted usage if annotated with <code>@Target</code>. While 109*3ff81872SXin Li this specification covers applying qualifiers to fields and 110*3ff81872SXin Li parameters only, some injector configurations might use qualifier 111*3ff81872SXin Li annotations in other places (on methods or classes for example).</li> 112*3ff81872SXin Li </ul> 113*3ff81872SXin Li 114*3ff81872SXin Li <p>For example: 115*3ff81872SXin Li 116*3ff81872SXin Li <pre> 117*3ff81872SXin Li @java.lang.annotation.Documented 118*3ff81872SXin Li @java.lang.annotation.Retention(RUNTIME) 119*3ff81872SXin Li @javax.inject.Qualifier 120*3ff81872SXin Li public @interface Leather { 121*3ff81872SXin Li Color color() default Color.TAN; 122*3ff81872SXin Li public enum Color { RED, BLACK, TAN } 123*3ff81872SXin Li }</pre> 124*3ff81872SXin Li<P> 125*3ff81872SXin Li 126*3ff81872SXin Li<P> 127*3ff81872SXin Li<DL> 128*3ff81872SXin Li<DT><B>See Also:</B><DD><A HREF="../../javax/inject/Named.html" title="annotation in javax.inject"><CODE>@Named</CODE></A></DL> 129*3ff81872SXin Li 130*3ff81872SXin Li<P> 131*3ff81872SXin Li 132*3ff81872SXin Li<P> 133*3ff81872SXin Li<!-- ========= END OF CLASS DATA ========= --> 134*3ff81872SXin Li<HR> 135*3ff81872SXin Li 136*3ff81872SXin Li 137*3ff81872SXin Li<!-- ======= START OF BOTTOM NAVBAR ====== --> 138*3ff81872SXin Li<A NAME="navbar_bottom"><!-- --></A> 139*3ff81872SXin Li<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 140*3ff81872SXin Li<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 141*3ff81872SXin Li<TR> 142*3ff81872SXin Li<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 143*3ff81872SXin Li<A NAME="navbar_bottom_firstrow"><!-- --></A> 144*3ff81872SXin Li<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 145*3ff81872SXin Li <TR ALIGN="center" VALIGN="top"> 146*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../javax/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 147*3ff81872SXin Li <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 148*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 149*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 150*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 151*3ff81872SXin Li <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 152*3ff81872SXin Li </TR> 153*3ff81872SXin Li</TABLE> 154*3ff81872SXin Li</TD> 155*3ff81872SXin Li<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 156*3ff81872SXin Li</EM> 157*3ff81872SXin Li</TD> 158*3ff81872SXin Li</TR> 159*3ff81872SXin Li 160*3ff81872SXin Li<TR> 161*3ff81872SXin Li<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 162*3ff81872SXin Li <A HREF="../../javax/inject/Provider.html" title="interface in javax.inject"><B>PREV CLASS</B></A> 163*3ff81872SXin Li <A HREF="../../javax/inject/Scope.html" title="annotation in javax.inject"><B>NEXT CLASS</B></A></FONT></TD> 164*3ff81872SXin Li<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 165*3ff81872SXin Li <A HREF="../../index.html?javax/inject/Qualifier.html" target="_top"><B>FRAMES</B></A> 166*3ff81872SXin Li <A HREF="Qualifier.html" target="_top"><B>NO FRAMES</B></A> 167*3ff81872SXin Li <SCRIPT type="text/javascript"> 168*3ff81872SXin Li <!-- 169*3ff81872SXin Li if(window==top) { 170*3ff81872SXin Li document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>'); 171*3ff81872SXin Li } 172*3ff81872SXin Li //--> 173*3ff81872SXin Li</SCRIPT> 174*3ff81872SXin Li<NOSCRIPT> 175*3ff81872SXin Li <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A> 176*3ff81872SXin Li</NOSCRIPT> 177*3ff81872SXin Li 178*3ff81872SXin Li 179*3ff81872SXin Li</FONT></TD> 180*3ff81872SXin Li</TR> 181*3ff81872SXin Li<TR> 182*3ff81872SXin Li<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 183*3ff81872SXin Li SUMMARY: REQUIRED | OPTIONAL</FONT></TD> 184*3ff81872SXin Li<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 185*3ff81872SXin LiDETAIL: ELEMENT</FONT></TD> 186*3ff81872SXin Li</TR> 187*3ff81872SXin Li</TABLE> 188*3ff81872SXin Li<A NAME="skip-navbar_bottom"></A> 189*3ff81872SXin Li<!-- ======== END OF BOTTOM NAVBAR ======= --> 190*3ff81872SXin Li 191*3ff81872SXin Li<HR> 192*3ff81872SXin Li<font size='-1'>Copyright (C) 2009 <a href='http://code.google.com/p/atinject/'>The JSR-330 Expert Group</a>. Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0'>Apache License</a>, Version 2.0.</font> 193*3ff81872SXin Li</BODY> 194*3ff81872SXin Li</HTML> 195