diff options
Diffstat (limited to 'latest-javadoc/com/google/inject/assistedinject/FactoryProvider.html')
-rw-r--r-- | latest-javadoc/com/google/inject/assistedinject/FactoryProvider.html | 351 |
1 files changed, 0 insertions, 351 deletions
diff --git a/latest-javadoc/com/google/inject/assistedinject/FactoryProvider.html b/latest-javadoc/com/google/inject/assistedinject/FactoryProvider.html deleted file mode 100644 index 8202e696..00000000 --- a/latest-javadoc/com/google/inject/assistedinject/FactoryProvider.html +++ /dev/null @@ -1,351 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--NewPage--> -<HTML> -<HEAD> -<!-- Generated by javadoc (build 1.6.0_07) on Wed Dec 24 20:45:51 PST 2008 --> -<TITLE> -FactoryProvider (Guice 1.0 API) -</TITLE> - -<META NAME="date" CONTENT="2008-12-24"> - -<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> - -<SCRIPT type="text/javascript"> -function windowTitle() -{ - if (location.href.indexOf('is-external=true') == -1) { - parent.document.title="FactoryProvider (Guice 1.0 API)"; - } -} -</SCRIPT> -<NOSCRIPT> -</NOSCRIPT> - -</HEAD> - -<BODY BGCOLOR="white" onload="windowTitle();"> -<HR> - - -<!-- ========= START OF TOP NAVBAR ======= --> -<A NAME="navbar_top"><!-- --></A> -<A HREF="#skip-navbar_top" title="Skip navigation links"></A> -<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> -<TR> -<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> -<A NAME="navbar_top_firstrow"><!-- --></A> -<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> - <TR ALIGN="center" VALIGN="top"> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> - <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> - </TR> -</TABLE> -</TD> -<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> -</EM> -</TD> -</TR> - -<TR> -<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../../../com/google/inject/assistedinject/AssistedInject.html" title="annotation in com.google.inject.assistedinject"><B>PREV CLASS</B></A> - NEXT CLASS</FONT></TD> -<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../../../index.html?com/google/inject/assistedinject/FactoryProvider.html" target="_top"><B>FRAMES</B></A> - <A HREF="FactoryProvider.html" target="_top"><B>NO FRAMES</B></A> - <SCRIPT type="text/javascript"> - <!-- - if(window==top) { - document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); - } - //--> -</SCRIPT> -<NOSCRIPT> - <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> -</NOSCRIPT> - - -</FONT></TD> -</TR> -<TR> -<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> -<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> -</TR> -</TABLE> -<A NAME="skip-navbar_top"></A> -<!-- ========= END OF TOP NAVBAR ========= --> - -<HR> -<!-- ======== START OF CLASS DATA ======== --> -<H2> -<FONT SIZE="-1"> -com.google.inject.assistedinject</FONT> -<BR> -Class FactoryProvider<F></H2> -<PRE> -<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> - <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.google.inject.assistedinject.FactoryProvider<F></B> -</PRE> -<DL> -<DT><DT><B>Type Parameters:</B><DD><CODE>F</CODE> - The factory interface</DL> -<DL> -<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../com/google/inject/Provider.html" title="interface in com.google.inject">Provider</A><F></DD> -</DL> -<HR> -<DL> -<DT><PRE>public class <B>FactoryProvider<F></B><DT>extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../com/google/inject/Provider.html" title="interface in com.google.inject">Provider</A><F></DL> -</PRE> - -<P> -Provides a factory that combines caller-provided parameters with injector-provided values when - constructing objects. - - <h3>Defining a factory</h3> - Create an interface whose methods return the constructed type, or its supertypes. The method's - parameters are the arguments required to build the constructed type. - <pre>public interface PaymentFactory { - Payment create(Date startDate, Money amount); - }</pre> - You can name your factory methods whatever you like, such as <i>create</i>, <i>createPayment</i> - or <i>newPayment</i>. - - <h3>Creating a type that accepts factory parameters</h3> - <code>constructedType</code> is a concrete class with an @<A HREF="../../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A>-annotated - constructor. In addition to injector-provided parameters, the constructor should have - parameters that match each of the factory method's parameters. Each factory-provided parameter - requires an @<A HREF="../../../../com/google/inject/assistedinject/Assisted.html" title="annotation in com.google.inject.assistedinject"><CODE>Assisted</CODE></A> annotation. This serves to document that the parameter - is not bound by your application's modules. - <pre>public class RealPayment implements Payment { - @Inject - public RealPayment( - CreditService creditService, - AuthService authService, - <strong>@Assisted Date startDate</strong>, - <strong>@Assisted Money amount</strong>) { - ... - } - }</pre> - - <h3>Configuring factories</h3> - In your <A HREF="../../../../com/google/inject/Module.html" title="interface in com.google.inject"><CODE>module</CODE></A>, bind the factory interface to the returned - factory: - <pre>bind(PaymentFactory.class).toProvider( - FactoryProvider.newFactory(PaymentFactory.class, RealPayment.class));</pre> - As a side-effect of this binding, Guice will inject the factory to initialize it for use. The - factory cannot be used until the injector has been initialized. - - <h3>Using the factory</h3> - Inject your factory into your application classes. When you use the factory, your arguments - will be combined with values from the injector to produce a concrete instance. - <pre>public class PaymentAction { - @Inject private PaymentFactory paymentFactory; - - public void doPayment(Money amount) { - Payment payment = paymentFactory.create(new Date(), amount); - payment.apply(); - } - }</pre> - - <h3>Making parameter types distinct</h3> - The types of the factory method's parameters must be distinct. To use multiple parameters of - the same type, use a named @<A HREF="../../../../com/google/inject/assistedinject/Assisted.html" title="annotation in com.google.inject.assistedinject"><CODE>Assisted</CODE></A> annotation to disambiguate the - parameters. The names must be applied to the factory method's parameters: - - <pre>public interface PaymentFactory { - Payment create( - <strong>@Assisted("startDate")</strong> Date startDate, - <strong>@Assisted("dueDate")</strong> Date dueDate, - Money amount); - } </pre> - ...and to the concrete type's constructor parameters: - <pre>public class RealPayment implements Payment { - @Inject - public RealPayment( - CreditService creditService, - AuthService authService, - <strong>@Assisted("startDate")</strong> Date startDate, - <strong>@Assisted("dueDate")</strong> Date dueDate, - <strong>@Assisted</strong> Money amount) { - ... - } - }</pre> - - <h3>Values are created by Guice</h3> - Returned factories use child injectors to create values. The values are eligible for method - interception. In addition, @Inject members will be injected before they are - returned. - - <h3>Backwards compatibility using @AssistedInject</h3> - Instead of the @Inject annotation, you may annotate the constructed classes with - @<A HREF="../../../../com/google/inject/assistedinject/AssistedInject.html" title="annotation in com.google.inject.assistedinject"><CODE>AssistedInject</CODE></A>. This triggers a limited backwards-compatability mode. - - <p>Instead of matching factory method arguments to constructor parameters using their names, the - <strong>parameters are matched by their order</strong>. The first factory method argument is - used for the first @Assisted constructor parameter, etc.. Annotation names have no - effect. - - <p>Returned values are <strong>not created by Guice</strong>. These types are not eligible for - method interception. They do receive post-construction member injection. -<P> - -<P> -<HR> - -<P> - -<!-- ========== METHOD SUMMARY =========== --> - -<A NAME="method_summary"><!-- --></A> -<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> -<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> -<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> -<B>Method Summary</B></FONT></TH> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE> <A HREF="../../../../com/google/inject/assistedinject/FactoryProvider.html" title="type parameter in FactoryProvider">F</A></CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../com/google/inject/assistedinject/FactoryProvider.html#get()">get</A></B>()</CODE> - -<BR> - Provides an instance of <code>T</code>.</TD> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>static -<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY=""> -<TR ALIGN="right" VALIGN=""> -<TD NOWRAP><FONT SIZE="-1"> -<CODE><F> <A HREF="../../../../com/google/inject/Provider.html" title="interface in com.google.inject">Provider</A><F></CODE></FONT></TD> -</TR> -</TABLE> -</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../../../com/google/inject/assistedinject/FactoryProvider.html#newFactory(java.lang.Class, java.lang.Class)">newFactory</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><F> factoryType, - <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><?> implementationType)</CODE> - -<BR> - </TD> -</TR> -</TABLE> - <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> -<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> -<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> -<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> -</TR> -<TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> -</TR> -</TABLE> - -<P> - -<!-- ============ METHOD DETAIL ========== --> - -<A NAME="method_detail"><!-- --></A> -<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> -<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> -<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> -<B>Method Detail</B></FONT></TH> -</TR> -</TABLE> - -<A NAME="newFactory(java.lang.Class, java.lang.Class)"><!-- --></A><H3> -newFactory</H3> -<PRE> -public static <F> <A HREF="../../../../com/google/inject/Provider.html" title="interface in com.google.inject">Provider</A><F> <B>newFactory</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><F> factoryType, - <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A><?> implementationType)</PRE> -<DL> -<DD><DL> -</DL> -</DD> -<DD><DL> -</DL> -</DD> -</DL> -<HR> - -<A NAME="get()"><!-- --></A><H3> -get</H3> -<PRE> -public <A HREF="../../../../com/google/inject/assistedinject/FactoryProvider.html" title="type parameter in FactoryProvider">F</A> <B>get</B>()</PRE> -<DL> -<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/google/inject/Provider.html#get()">Provider</A></CODE></B></DD> -<DD>Provides an instance of <code>T</code>. Must never return <code>null</code>. -<P> -<DD><DL> -<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/google/inject/Provider.html#get()">get</A></CODE> in interface <CODE><A HREF="../../../../com/google/inject/Provider.html" title="interface in com.google.inject">Provider</A><<A HREF="../../../../com/google/inject/assistedinject/FactoryProvider.html" title="type parameter in FactoryProvider">F</A>></CODE></DL> -</DD> -<DD><DL> -</DL> -</DD> -</DL> -<!-- ========= END OF CLASS DATA ========= --> -<HR> - - -<!-- ======= START OF BOTTOM NAVBAR ====== --> -<A NAME="navbar_bottom"><!-- --></A> -<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> -<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> -<TR> -<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> -<A NAME="navbar_bottom_firstrow"><!-- --></A> -<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> - <TR ALIGN="center" VALIGN="top"> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> - <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> - <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> - </TR> -</TABLE> -</TD> -<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> -</EM> -</TD> -</TR> - -<TR> -<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../../../com/google/inject/assistedinject/AssistedInject.html" title="annotation in com.google.inject.assistedinject"><B>PREV CLASS</B></A> - NEXT CLASS</FONT></TD> -<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../../../index.html?com/google/inject/assistedinject/FactoryProvider.html" target="_top"><B>FRAMES</B></A> - <A HREF="FactoryProvider.html" target="_top"><B>NO FRAMES</B></A> - <SCRIPT type="text/javascript"> - <!-- - if(window==top) { - document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); - } - //--> -</SCRIPT> -<NOSCRIPT> - <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> -</NOSCRIPT> - - -</FONT></TD> -</TR> -<TR> -<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> -<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> -</TR> -</TABLE> -<A NAME="skip-navbar_bottom"></A> -<!-- ======== END OF BOTTOM NAVBAR ======= --> - -<HR> - -</BODY> -</HTML> |