blob: 3cc118c53a330694d3b35ce902ee8459dea02246 [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 Wed Feb 14 21:19:27 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>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<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 <A HREF="http://java.sun.com/javase/6/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging"><CODE>Logger</CODE></A> 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>
</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>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&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>
<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;<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#bindConstant(java.lang.annotation.Annotation)">bindConstant</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation">Annotation</A>&nbsp;annotation)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds a constant to the given annotation.</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#bindConstant(java.lang.Class)">bindConstant</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation">Annotation</A>&gt;&nbsp;annotationType)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds a constant to the given annotation type.</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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#intercept(com.google.inject.matcher.Matcher, com.google.inject.matcher.Matcher, org.aopalliance.intercept.MethodInterceptor...)">intercept</A></B>(<A HREF="../../../com/google/inject/matcher/Matcher.html" title="interface in com.google.inject.matcher">Matcher</A>&lt;? super <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;?&gt;&gt;&nbsp;classMatcher,
<A HREF="../../../com/google/inject/matcher/Matcher.html" title="interface in com.google.inject.matcher">Matcher</A>&lt;? super <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect">Method</A>&gt;&nbsp;methodMatcher,
<A HREF="http://aopalliance.sourceforge.net/doc/org/aopalliance/intercept/MethodInterceptor.html" title="class or interface in org.aopalliance.intercept">MethodInterceptor</A>...&nbsp;interceptors)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Applies the given method interceptor to the methods matched by the class
and method matchers.</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#requestStaticInjection(java.lang.Class...)">requestStaticInjection</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&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>
<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#scope(java.lang.Class, com.google.inject.Scope)">scope</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation">Annotation</A>&gt;&nbsp;annotationType,
<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;Adds a new scope.</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.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html" 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#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#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#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html#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#wait(long, int)" title="class or interface in java.lang">wait</A></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()"><!-- --></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="intercept(com.google.inject.matcher.Matcher, com.google.inject.matcher.Matcher, org.aopalliance.intercept.MethodInterceptor...)"><!-- --></A><H3>
intercept</H3>
<PRE>
public void <B>intercept</B>(<A HREF="../../../com/google/inject/matcher/Matcher.html" title="interface in com.google.inject.matcher">Matcher</A>&lt;? super <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;?&gt;&gt;&nbsp;classMatcher,
<A HREF="../../../com/google/inject/matcher/Matcher.html" title="interface in com.google.inject.matcher">Matcher</A>&lt;? super <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect">Method</A>&gt;&nbsp;methodMatcher,
<A HREF="http://aopalliance.sourceforge.net/doc/org/aopalliance/intercept/MethodInterceptor.html" title="class or interface in org.aopalliance.intercept">MethodInterceptor</A>...&nbsp;interceptors)</PRE>
<DL>
<DD>Applies the given method interceptor to the methods matched by the class
and method matchers.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>classMatcher</CODE> - matches classes the interceptor should apply to. For
example: <code>only(Runnable.class)</code>.<DD><CODE>methodMatcher</CODE> - matches methods the interceptor should apply to. For
example: <code>annotatedWith(Transactional.class)</code>.<DD><CODE>interceptors</CODE> - to apply</DL>
</DD>
</DL>
<HR>
<A NAME="scope(java.lang.Class, com.google.inject.Scope)"><!-- --></A><H3>
scope</H3>
<PRE>
public void <B>scope</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation">Annotation</A>&gt;&nbsp;annotationType,
<A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject">Scope</A>&nbsp;scope)</PRE>
<DL>
<DD>Adds a new scope. Maps a <A HREF="../../../com/google/inject/Scope.html" title="interface in com.google.inject"><CODE>Scope</CODE></A> instance to a given annotation.
<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>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&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="bindConstant(java.lang.annotation.Annotation)"><!-- --></A><H3>
bindConstant</H3>
<PRE>
public <A HREF="../../../com/google/inject/ContainerBuilder.ConstantBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.ConstantBindingBuilder</A> <B>bindConstant</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation">Annotation</A>&nbsp;annotation)</PRE>
<DL>
<DD>Binds a constant to the given annotation.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="bindConstant(java.lang.Class)"><!-- --></A><H3>
bindConstant</H3>
<PRE>
public <A HREF="../../../com/google/inject/ContainerBuilder.ConstantBindingBuilder.html" title="class in com.google.inject">ContainerBuilder.ConstantBindingBuilder</A> <B>bindConstant</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&lt;? extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/annotation/Annotation.html" title="class or interface in java.lang.annotation">Annotation</A>&gt;&nbsp;annotationType)</PRE>
<DL>
<DD>Binds a constant to the given annotation type.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="requestStaticInjection(java.lang.Class...)"><!-- --></A><H3>
requestStaticInjection</H3>
<PRE>
public void <B>requestStaticInjection</B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&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><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</A></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>