Added convenience method for specifying container scope.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@49 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/guice.iws b/guice.iws
index 6bd5a72..1b28007 100644
--- a/guice.iws
+++ b/guice.iws
@@ -20,28 +20,30 @@
     <list default="true" name="Default" comment="">
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/InternalFactoryToFactoryAdapter.java" afterPath="$PROJECT_DIR$/src/com/google/inject/InternalFactoryToFactoryAdapter.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/AbstractModule.java" afterPath="$PROJECT_DIR$/src/com/google/inject/AbstractModule.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/Scope.java" afterPath="$PROJECT_DIR$/src/com/google/inject/Scope.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ContainerScope.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ContainerScope.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/Scope.java" afterPath="$PROJECT_DIR$/src/com/google/inject/Scope.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/Context.java" afterPath="$PROJECT_DIR$/src/com/google/inject/Context.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ErrorHandler.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ErrorHandler.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/AllTests.java" afterPath="$PROJECT_DIR$/test/com/google/inject/AllTests.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/FactoryInjectionTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/FactoryInjectionTest.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/Scopes.java" afterPath="$PROJECT_DIR$/src/com/google/inject/Scopes.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/guice.iws" afterPath="$PROJECT_DIR$/guice.iws" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/Scopes.java" afterPath="$PROJECT_DIR$/src/com/google/inject/Scopes.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ContainerBuilder.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ContainerBuilder.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/FactoryToInternalFactoryAdapter.java" afterPath="$PROJECT_DIR$/src/com/google/inject/FactoryToInternalFactoryAdapter.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/ContainerTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/ContainerTest.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ExternalContext.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ExternalContext.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/AbstractErrorHandler.java" afterPath="$PROJECT_DIR$/src/com/google/inject/AbstractErrorHandler.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/InternalToContextualFactoryAdapter.java" afterPath="$PROJECT_DIR$/src/com/google/inject/InternalToContextualFactoryAdapter.java" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/com/google/inject/PreloadingTest.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/util/Stopwatch.java" afterPath="$PROJECT_DIR$/src/com/google/inject/util/Stopwatch.java" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/ErrorHandlingTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/ErrorHandlingTest.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ErrorMessage.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ErrorMessage.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/GenericInjectionTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/GenericInjectionTest.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/google/inject/ContainerCreationException.java" afterPath="$PROJECT_DIR$/src/com/google/inject/ContainerCreationException.java" />
       <change type="DELETED" beforePath="$PROJECT_DIR$/src/com/google/inject/Stopwatch.java" afterPath="" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/FactoryTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/FactoryTest.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/PerformanceComparison.java" afterPath="$PROJECT_DIR$/test/com/google/inject/PerformanceComparison.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/CircularDependencyTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/CircularDependencyTest.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/com/google/inject/PreloadingTest.java" afterPath="$PROJECT_DIR$/test/com/google/inject/PreloadingTest.java" />
     </list>
   </component>
   <component name="ChangeListSynchronizer" />
@@ -214,7 +216,7 @@
       <file leaf-file-name="ContainerScope.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerScope.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -223,7 +225,7 @@
       <file leaf-file-name="ErrorHandler.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/ErrorHandler.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -232,7 +234,7 @@
       <file leaf-file-name="ErrorHandlingTest.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/test/com/google/inject/ErrorHandlingTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -241,7 +243,7 @@
       <file leaf-file-name="FactoryInjectionTest.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/test/com/google/inject/FactoryInjectionTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -250,7 +252,7 @@
       <file leaf-file-name="FactoryToInternalFactoryAdapter.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/FactoryToInternalFactoryAdapter.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -259,7 +261,7 @@
       <file leaf-file-name="GenericInjectionTest.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/test/com/google/inject/GenericInjectionTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -268,7 +270,7 @@
       <file leaf-file-name="InternalFactoryToFactoryAdapter.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/InternalFactoryToFactoryAdapter.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -277,7 +279,7 @@
       <file leaf-file-name="InternalToContextualFactoryAdapter.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/InternalToContextualFactoryAdapter.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -286,7 +288,7 @@
       <file leaf-file-name="PreloadingTest.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/test/com/google/inject/PreloadingTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="25" column="13" selection-start="772" selection-end="772" vertical-scroll-proportion="0.3248322">
+            <state line="25" column="13" selection-start="778" selection-end="778" vertical-scroll-proportion="0.38110235">
               <folding />
             </state>
           </provider>
@@ -295,7 +297,7 @@
       <file leaf-file-name="Scope.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/Scope.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
               <folding />
             </state>
           </provider>
@@ -304,7 +306,7 @@
       <file leaf-file-name="Scopes.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/Scopes.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+            <state line="30" column="5" selection-start="856" selection-end="856" vertical-scroll-proportion="0.7322835">
               <folding />
             </state>
           </provider>
@@ -313,7 +315,7 @@
       <file leaf-file-name="Stopwatch.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/Stopwatch.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="18" column="16" selection-start="646" selection-end="646" vertical-scroll-proportion="0.41073826">
+            <state line="18" column="16" selection-start="646" selection-end="646" vertical-scroll-proportion="0.48188975">
               <folding />
             </state>
           </provider>
@@ -322,7 +324,7 @@
       <file leaf-file-name="AllTests.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/test/com/google/inject/AllTests.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="43" column="20" selection-start="1493" selection-end="1493" vertical-scroll-proportion="0.5248322">
+            <state line="45" column="0" selection-start="1571" selection-end="1571" vertical-scroll-proportion="0.6692913">
               <folding />
             </state>
           </provider>
@@ -331,7 +333,7 @@
       <file leaf-file-name="Context.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/Context.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="42" column="0" selection-start="1227" selection-end="1227" vertical-scroll-proportion="0.63892615">
+            <state line="42" column="0" selection-start="1227" selection-end="1227" vertical-scroll-proportion="0.7496063">
               <folding />
             </state>
           </provider>
@@ -340,16 +342,16 @@
       <file leaf-file-name="ExternalContext.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/ExternalContext.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="58" column="22" selection-start="1473" selection-end="1473" vertical-scroll-proportion="0.5704698">
+            <state line="58" column="22" selection-start="1473" selection-end="1473" vertical-scroll-proportion="1.0062993">
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="FactoryTest.java" pinned="false" current="true" current-in-tab="true">
+      <file leaf-file-name="FactoryTest.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/test/com/google/inject/FactoryTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="57" column="29" selection-start="1701" selection-end="1701" vertical-scroll-proportion="0.86308724">
+            <state line="26" column="18" selection-start="793" selection-end="793" vertical-scroll-proportion="0.18267716">
               <folding />
             </state>
           </provider>
@@ -358,16 +360,16 @@
       <file leaf-file-name="AbstractModule.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/AbstractModule.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="76" column="20" selection-start="2139" selection-end="2139" vertical-scroll-proportion="0.46979865">
+            <state line="76" column="20" selection-start="2139" selection-end="2139" vertical-scroll-proportion="0.5511811">
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="ContainerBuilder.java" pinned="false" current="false" current-in-tab="false">
+      <file leaf-file-name="ContainerBuilder.java" pinned="false" current="true" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerBuilder.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="949" column="32" selection-start="26963" selection-end="26963" vertical-scroll-proportion="1.0174496">
+            <state line="595" column="43" selection-start="18106" selection-end="18106" vertical-scroll-proportion="0.67874014">
               <folding />
             </state>
           </provider>
@@ -376,7 +378,7 @@
       <file leaf-file-name="ContainerImpl.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="376" column="73" selection-start="12295" selection-end="12295" vertical-scroll-proportion="0.47919464">
+            <state line="376" column="73" selection-start="12295" selection-end="12295" vertical-scroll-proportion="0.5622047">
               <folding />
             </state>
           </provider>
@@ -600,13 +602,13 @@
   </component>
   <component name="RestoreUpdateTree" />
   <component name="RunManager" selected="JUnit.AllTests">
-    <tempConfiguration default="false" name="PreloadingTest" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+    <tempConfiguration default="false" name="FactoryTest" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
       <pattern value="com.google.inject.*" />
       <module name="guice" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" />
       <option name="PACKAGE_NAME" value="com.google.inject" />
-      <option name="MAIN_CLASS_NAME" value="com.google.inject.PreloadingTest" />
+      <option name="MAIN_CLASS_NAME" value="com.google.inject.FactoryTest" />
       <option name="METHOD_NAME" />
       <option name="TEST_OBJECT" value="class" />
       <option name="VM_PARAMETERS" />
@@ -821,7 +823,7 @@
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15854311" order="0" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.29517502" order="1" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.16236559" order="1" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27909178" order="10" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.27909178" order="10" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
       <window_info id="Profile" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32890996" order="13" />
       <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
@@ -829,7 +831,7 @@
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.14623655" order="1" />
       <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3282876" order="8" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.38315988" order="2" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.38315988" order="2" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
       <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="6" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39978448" order="0" />
@@ -930,105 +932,105 @@
   <component name="editorHistoryManager">
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/FactoryToInternalFactoryAdapter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/test/com/google/inject/GenericInjectionTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/InternalFactoryToFactoryAdapter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/InternalToContextualFactoryAdapter.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/test/com/google/inject/PreloadingTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="25" column="13" selection-start="772" selection-end="772" vertical-scroll-proportion="0.3248322">
+        <state line="25" column="13" selection-start="778" selection-end="778" vertical-scroll-proportion="0.38110235">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/Scope.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/google/inject/Scopes.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.31946307">
+        <state line="14" column="3" selection-start="595" selection-end="595" vertical-scroll-proportion="0.37480316">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/Stopwatch.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="18" column="16" selection-start="646" selection-end="646" vertical-scroll-proportion="0.41073826">
+        <state line="18" column="16" selection-start="646" selection-end="646" vertical-scroll-proportion="0.48188975">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/AbstractModule.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="76" column="20" selection-start="2139" selection-end="2139" vertical-scroll-proportion="0.46979865">
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/test/com/google/inject/AllTests.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="43" column="20" selection-start="1493" selection-end="1493" vertical-scroll-proportion="0.5248322">
+        <state line="76" column="20" selection-start="2139" selection-end="2139" vertical-scroll-proportion="0.5511811">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/Context.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="42" column="0" selection-start="1227" selection-end="1227" vertical-scroll-proportion="0.63892615">
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerBuilder.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="949" column="32" selection-start="26963" selection-end="26963" vertical-scroll-proportion="1.0174496">
+        <state line="42" column="0" selection-start="1227" selection-end="1227" vertical-scroll-proportion="0.7496063">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="376" column="73" selection-start="12295" selection-end="12295" vertical-scroll-proportion="0.47919464">
+        <state line="376" column="73" selection-start="12295" selection-end="12295" vertical-scroll-proportion="0.5622047">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/google/inject/ExternalContext.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="58" column="22" selection-start="1473" selection-end="1473" vertical-scroll-proportion="0.5704698">
+        <state line="58" column="22" selection-start="1473" selection-end="1473" vertical-scroll-proportion="1.0062993">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/test/com/google/inject/FactoryTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="57" column="29" selection-start="1701" selection-end="1701" vertical-scroll-proportion="0.86308724">
+        <state line="26" column="18" selection-start="793" selection-end="793" vertical-scroll-proportion="0.18267716">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/AllTests.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="45" column="0" selection-start="1571" selection-end="1571" vertical-scroll-proportion="0.6692913">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/Scopes.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="30" column="5" selection-start="856" selection-end="856" vertical-scroll-proportion="0.7322835">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerBuilder.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="595" column="43" selection-start="18106" selection-end="18106" vertical-scroll-proportion="0.67874014">
           <folding />
         </state>
       </provider>
diff --git a/src/com/google/inject/ContainerBuilder.java b/src/com/google/inject/ContainerBuilder.java
index c8bd224..871919f 100644
--- a/src/com/google/inject/ContainerBuilder.java
+++ b/src/com/google/inject/ContainerBuilder.java
@@ -104,8 +104,8 @@
    * Constructs a new builder.
    */
   public ContainerBuilder() {
-    put(Scopes.DEFAULT, DEFAULT_SCOPE);
-    put(Scopes.CONTAINER, ContainerScope.INSTANCE);
+    put(Scopes.DEFAULT_SCOPE, DEFAULT_SCOPE);
+    put(Scopes.CONTAINER_SCOPE, ContainerScope.INSTANCE);
 
     bind(Container.class).to(CONTAINER_FACTORY);
     bind(Logger.class).to(LOGGER_FACTORY);
@@ -592,6 +592,13 @@
       return this;
     }
 
+    /**
+     * Specifies container scope (i.e. one instance per container).
+     */
+    public BindingBuilder<T> inContainerScope() {
+      return in(Scopes.CONTAINER_SCOPE);
+    }
+
     private void ensureScopeNotSet() {
       if (this.scope != null) {
         addError(source, ErrorMessage.SCOPE_ALREADY_SET);
diff --git a/src/com/google/inject/Scopes.java b/src/com/google/inject/Scopes.java
index 513f2c7..e519ab2 100644
--- a/src/com/google/inject/Scopes.java
+++ b/src/com/google/inject/Scopes.java
@@ -26,10 +26,10 @@
   /**
    * Default scope's name. One instance per injection.
    */
-  public static final String DEFAULT = Key.DEFAULT_NAME;
+  public static final String DEFAULT_SCOPE = Key.DEFAULT_NAME;
 
   /**
    * Container scope's name. One instance per {@link Container}.
    */
-  public static final String CONTAINER = "container";
+  public static final String CONTAINER_SCOPE = "container";
 }
\ No newline at end of file
diff --git a/test/com/google/inject/CircularDependencyTest.java b/test/com/google/inject/CircularDependencyTest.java
index 449dd07..c6dfcb4 100644
--- a/test/com/google/inject/CircularDependencyTest.java
+++ b/test/com/google/inject/CircularDependencyTest.java
@@ -40,7 +40,7 @@
     B getB();
   }
 
-  @Scoped(CONTAINER)
+  @Scoped(CONTAINER_SCOPE)
   static class AImpl implements A {
     final B b;
     @Inject public AImpl(B b) {
diff --git a/test/com/google/inject/ContainerTest.java b/test/com/google/inject/ContainerTest.java
index f26a859..a411909 100644
--- a/test/com/google/inject/ContainerTest.java
+++ b/test/com/google/inject/ContainerTest.java
@@ -16,7 +16,7 @@
 
 package com.google.inject;
 
-import static com.google.inject.Scopes.CONTAINER;
+import static com.google.inject.Scopes.CONTAINER_SCOPE;
 
 import junit.framework.TestCase;
 
@@ -96,7 +96,7 @@
     int getI();
   }
 
-  @Scoped(CONTAINER)
+  @Scoped(CONTAINER_SCOPE)
   static class BarImpl implements Bar {
 
     @Inject("i") int i;
@@ -157,7 +157,7 @@
     B getB();
   }
 
-  @Scoped(CONTAINER)
+  @Scoped(CONTAINER_SCOPE)
   static class AImpl implements A {
     final B b;
     @Inject public AImpl(B b) {
diff --git a/test/com/google/inject/FactoryInjectionTest.java b/test/com/google/inject/FactoryInjectionTest.java
index f7fdd92..1a97ab7 100644
--- a/test/com/google/inject/FactoryInjectionTest.java
+++ b/test/com/google/inject/FactoryInjectionTest.java
@@ -27,7 +27,7 @@
     ContainerBuilder builder = new ContainerBuilder();
 
     builder.bind(Bar.class);
-    builder.bind(ContainerScoped.class).in(Scopes.CONTAINER);
+    builder.bind(ContainerScoped.class).in(Scopes.CONTAINER_SCOPE);
 
     Container container = builder.create(false);
 
diff --git a/test/com/google/inject/FactoryTest.java b/test/com/google/inject/FactoryTest.java
index 0517ca3..279f7ee 100644
--- a/test/com/google/inject/FactoryTest.java
+++ b/test/com/google/inject/FactoryTest.java
@@ -86,7 +86,7 @@
     cb.bind(Bar.class)
         .named("fooBar")
         .to(createFactory(Bar.class, "fooBar", null))
-        .in(Scopes.CONTAINER);
+        .in(Scopes.CONTAINER_SCOPE);
 
     cb.bind(Tee.class).named("tee1")
         .to(createFactory(Tee.class, "tee1",
diff --git a/test/com/google/inject/PerformanceComparison.java b/test/com/google/inject/PerformanceComparison.java
index 7e772f7..4d1d769 100644
--- a/test/com/google/inject/PerformanceComparison.java
+++ b/test/com/google/inject/PerformanceComparison.java
@@ -16,7 +16,7 @@
 
 package com.google.inject;
 
-import static com.google.inject.Scopes.CONTAINER;
+import static com.google.inject.Scopes.CONTAINER_SCOPE;
 
 import static junit.framework.Assert.*;
 
@@ -210,7 +210,7 @@
     String getS();
   }
 
-  @Scoped(CONTAINER)
+  @Scoped(CONTAINER_SCOPE)
   public static class TeeImpl implements Tee {
 
     final String s;
diff --git a/test/com/google/inject/PreloadingTest.java b/test/com/google/inject/PreloadingTest.java
index a8ecace..add21e4 100644
--- a/test/com/google/inject/PreloadingTest.java
+++ b/test/com/google/inject/PreloadingTest.java
@@ -16,7 +16,7 @@
 
 package com.google.inject;
 
-import static com.google.inject.Scopes.CONTAINER;
+import static com.google.inject.Scopes.CONTAINER_SCOPE;
 
 import junit.framework.TestCase;
 
@@ -46,7 +46,7 @@
 
   private ContainerBuilder createContainerBuilder() {
     ContainerBuilder builder = new ContainerBuilder();
-    builder.bind(Foo.class).in(CONTAINER).preload();
+    builder.bind(Foo.class).in(CONTAINER_SCOPE).preload();
     builder.bind(Bar.class);
     return builder;
   }
@@ -67,7 +67,7 @@
     }
   }
 
-  @Scoped(CONTAINER)
+  @Scoped(CONTAINER_SCOPE)
   static class Bar {
     static int count = 0;
     public Bar() {