blob: 147a1ea611676642a06b062dfa954e4fe7a25bd4 [file] [log] [blame]
<!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.5.0_06) on Sat Feb 03 03:43:46 PST 2007 -->
<TITLE>
ContainerBuilder (Guice 1.0 API)
</TITLE>
<META NAME="keywords" CONTENT="com.google.inject.ContainerBuilder class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ContainerBuilder (Guice 1.0 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= 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>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/google/inject/ContainerBuilder.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ContainerBuilder.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<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:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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</FONT>
<BR>
Class ContainerBuilder</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../com/google/inject/spi/SourceConsumer.html" title="class in com.google.inject.spi">com.google.inject.spi.SourceConsumer</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.google.inject.ContainerBuilder</B>
</PRE>
<HR>
<DL>
<DT><PRE>public final class <B>ContainerBuilder</B><DT>extends <A HREF="../../../com/google/inject/spi/SourceConsumer.html" title="class in com.google.inject.spi">SourceConsumer</A></DL>
</PRE>
<P>
Builds a dependency injection <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>. Binds <A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject"><CODE>Key</CODE></A>s to
implementations. A binding implementation could be anything from a constant
value to an object in the HTTP session.
<p>Not safe for concurrent use.
<p>Default bindings include:
<ul>
<li>A <code>Factory&lt;T&gt;</code> for each binding of type <code>T</code>
<li>The <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> iself
<li>The <CODE>Logger</CODE> for the class being injected
</ul>
<p>Converts constants as needed from <code>String</code> to any primitive type
in addition to <code>enum</code> and <code>Class&lt;?&gt;</code>.
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>crazybob@google.com (Bob Lee)</DD>
</DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;<A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="type parameter in ContainerBuilder.BindingBuilder">T</A>&gt;</B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds a <A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject"><CODE>Key</CODE></A> to an implementation in a given scope.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.ConstantBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.ConstantBindingBuilder</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds a constant binding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.LinkedBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.LinkedBindingBuilder</A>&lt;<A HREF="../../../com/google/inject/ContainerBuilder.LinkedBindingBuilder.html" title="type parameter in ContainerBuilder.LinkedBindingBuilder">T</A>&gt;</B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Links one binding to another.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#ContainerBuilder()">ContainerBuilder</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new builder.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#ContainerBuilder(com.google.inject.spi.ConstructionProxyFactory)">ContainerBuilder</A></B>(<A HREF="../../../com/google/inject/spi/ConstructionProxyFactory.html" title="interface in com.google.inject.spi">ConstructionProxyFactory</A>&nbsp;constructionProxyFactory)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new builder.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#bind(java.lang.Class)">bind</A></B>(java.lang.Class&lt;T&gt;&nbsp;clazz)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds the given type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#bind(com.google.inject.Key)">bind</A></B>(<A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject">Key</A>&lt;T&gt;&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds the given key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.ConstantBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.ConstantBindingBuilder</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#bind(java.lang.String)">bind</A></B>(java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds a constant to the given name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#bind(com.google.inject.TypeLiteral)">bind</A></B>(<A HREF="../../../com/google/inject/TypeLiteral.html" title="class in com.google.inject">TypeLiteral</A>&lt;T&gt;&nbsp;typeLiteral)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds the given type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#bindProperties(java.util.Map)">bindProperties</A></B>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds a string constant for each property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#bindProperties(java.util.Properties)">bindProperties</A></B>(java.util.Properties&nbsp;properties)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds a string constant for each property.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#create(boolean)">create</A></B>(boolean&nbsp;preload)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#install(com.google.inject.Module)">install</A></B>(<A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject">Module</A>&nbsp;module)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Applies the given module to this builder.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.LinkedBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.LinkedBindingBuilder</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#link(com.google.inject.Key)">link</A></B>(<A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject">Key</A>&lt;T&gt;&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Links the given key to another key effectively creating an alias for a
binding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#put(java.lang.String, com.google.inject.Scope)">put</A></B>(java.lang.String&nbsp;name,
<A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject">Scope</A>&nbsp;scope)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a <A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject"><CODE>Scope</CODE></A> instance to a given scope name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#requestStaticInjection(java.lang.Class...)">requestStaticInjection</A></B>(java.lang.Class&lt;?&gt;...&nbsp;types)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upon successful creation, the <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> will inject static fields
and methods in the given classes.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.google.inject.spi.SourceConsumer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class com.google.inject.spi.<A HREF="../../../com/google/inject/spi/SourceConsumer.html" title="class in com.google.inject.spi">SourceConsumer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../com/google/inject/spi/SourceConsumer.html#getSourceProvider()">getSourceProvider</A>, <A HREF="../../../com/google/inject/spi/SourceConsumer.html#setSourceProvider(com.google.inject.spi.SourceProvider)">setSourceProvider</A>, <A HREF="../../../com/google/inject/spi/SourceConsumer.html#source()">source</A>, <A HREF="../../../com/google/inject/spi/SourceConsumer.html#withSourceProvider(com.google.inject.spi.SourceProvider, java.lang.Runnable)">withSourceProvider</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<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.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ContainerBuilder(com.google.inject.spi.ConstructionProxyFactory)"><!-- --></A><H3>
ContainerBuilder</H3>
<PRE>
public <B>ContainerBuilder</B>(<A HREF="../../../com/google/inject/spi/ConstructionProxyFactory.html" title="interface in com.google.inject.spi">ConstructionProxyFactory</A>&nbsp;constructionProxyFactory)</PRE>
<DL>
<DD>Constructs a new builder.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>constructionProxyFactory</CODE> - to use when constructing objects</DL>
</DL>
<HR>
<A NAME="ContainerBuilder()"><!-- --></A><H3>
ContainerBuilder</H3>
<PRE>
public <B>ContainerBuilder</B>()</PRE>
<DL>
<DD>Constructs a new builder.
<P>
</DL>
<!-- ============ 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="put(java.lang.String, com.google.inject.Scope)"><!-- --></A><H3>
put</H3>
<PRE>
public void <B>put</B>(java.lang.String&nbsp;name,
<A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject">Scope</A>&nbsp;scope)</PRE>
<DL>
<DD>Maps a <A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject"><CODE>Scope</CODE></A> instance to a given scope name. Scopes should be
mapped before used in bindings. @<A HREF="../../../com/google/inject/Scoped.html#value()"><CODE>Scoped.value()</CODE></A> references this
name.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bind(com.google.inject.Key)"><!-- --></A><H3>
bind</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;T&gt; <B>bind</B>(<A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject">Key</A>&lt;T&gt;&nbsp;key)</PRE>
<DL>
<DD>Binds the given key.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bind(com.google.inject.TypeLiteral)"><!-- --></A><H3>
bind</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;T&gt; <B>bind</B>(<A HREF="../../../com/google/inject/TypeLiteral.html" title="class in com.google.inject">TypeLiteral</A>&lt;T&gt;&nbsp;typeLiteral)</PRE>
<DL>
<DD>Binds the given type.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bind(java.lang.Class)"><!-- --></A><H3>
bind</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject">ContainerBuilder.BindingBuilder</A>&lt;T&gt; <B>bind</B>(java.lang.Class&lt;T&gt;&nbsp;clazz)</PRE>
<DL>
<DD>Binds the given type.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="link(com.google.inject.Key)"><!-- --></A><H3>
link</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.LinkedBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.LinkedBindingBuilder</A>&lt;T&gt; <B>link</B>(<A HREF="../../../com/google/inject/Key.html" title="class in com.google.inject">Key</A>&lt;T&gt;&nbsp;key)</PRE>
<DL>
<DD>Links the given key to another key effectively creating an alias for a
binding.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bind(java.lang.String)"><!-- --></A><H3>
bind</H3>
<PRE>
public <A HREF="../../../com/google/inject/ContainerBuilder.ConstantBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.ConstantBindingBuilder</A> <B>bind</B>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD>Binds a constant to the given name.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bindProperties(java.util.Map)"><!-- --></A><H3>
bindProperties</H3>
<PRE>
public void <B>bindProperties</B>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</PRE>
<DL>
<DD>Binds a string constant for each property.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bindProperties(java.util.Properties)"><!-- --></A><H3>
bindProperties</H3>
<PRE>
public void <B>bindProperties</B>(java.util.Properties&nbsp;properties)</PRE>
<DL>
<DD>Binds a string constant for each property.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="requestStaticInjection(java.lang.Class...)"><!-- --></A><H3>
requestStaticInjection</H3>
<PRE>
public void <B>requestStaticInjection</B>(java.lang.Class&lt;?&gt;...&nbsp;types)</PRE>
<DL>
<DD>Upon successful creation, the <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> will inject static fields
and methods in the given classes.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>types</CODE> - for which static members will be injected</DL>
</DD>
</DL>
<HR>
<A NAME="install(com.google.inject.Module)"><!-- --></A><H3>
install</H3>
<PRE>
public void <B>install</B>(<A HREF="../../../com/google/inject/Module.html" title="interface in com.google.inject">Module</A>&nbsp;module)</PRE>
<DL>
<DD>Applies the given module to this builder.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="create(boolean)"><!-- --></A><H3>
create</H3>
<PRE>
public <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A> <B>create</B>(boolean&nbsp;preload)
throws <A HREF="../../../com/google/inject/ContainerCreationException.html" title="class in com.google.inject">ContainerCreationException</A></PRE>
<DL>
<DD>Creates a <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> instance. Injects static members for classes
which were registered using <A HREF="../../../com/google/inject/ContainerBuilder.html#requestStaticInjection(java.lang.Class...)"><CODE>requestStaticInjection(Class...)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>preload</CODE> - If true, the container will load all container-scoped
bindings now. If false, the container will lazily load them. Eager
loading is appropriate for production use (catch errors early and take
any performance hit up front) while lazy loading can speed development.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/inject/ContainerCreationException.html" title="class in com.google.inject">ContainerCreationException</A></CODE> - if configuration errors are found. The
expectation is that the application will log this exception and exit.
<DD><CODE>java.lang.IllegalStateException</CODE> - if called more than once</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>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.BindingBuilder.html" title="class in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/google/inject/ContainerBuilder.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ContainerBuilder.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<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:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>