diff options
author | crazyboblee <crazyboblee@d779f126-a31b-0410-b53b-1d3aecad763e> | 2007-02-01 00:28:09 +0000 |
---|---|---|
committer | crazyboblee <crazyboblee@d779f126-a31b-0410-b53b-1d3aecad763e> | 2007-02-01 00:28:09 +0000 |
commit | 7289ac1bb7df2762e946125eebc03c440f1c72c0 (patch) | |
tree | 2b0779ed51d137efed0663574879676176089953 /src/com/google/inject/FactoryToInternalFactoryAdapter.java | |
parent | 9bb62020927911172430dc3d94ee61796d519236 (diff) | |
download | guice-7289ac1bb7df2762e946125eebc03c440f1c72c0.tar.gz |
Pulled up some anonymous inner classes. Hopefully the CB will be eligible for garbage collection after startup. I'll have to test this theory later.
git-svn-id: https://google-guice.googlecode.com/svn/trunk@45 d779f126-a31b-0410-b53b-1d3aecad763e
Diffstat (limited to 'src/com/google/inject/FactoryToInternalFactoryAdapter.java')
-rw-r--r-- | src/com/google/inject/FactoryToInternalFactoryAdapter.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/com/google/inject/FactoryToInternalFactoryAdapter.java b/src/com/google/inject/FactoryToInternalFactoryAdapter.java new file mode 100644 index 00000000..a7bca2bb --- /dev/null +++ b/src/com/google/inject/FactoryToInternalFactoryAdapter.java @@ -0,0 +1,32 @@ +// Copyright 2006 Google Inc. All Rights Reserved. + +package com.google.inject; + +/** + * @author crazybob@google.com (Bob Lee) +*/ +class FactoryToInternalFactoryAdapter<T> implements Factory<T> { + + private final ContainerImpl container; + + private final InternalFactory<? extends T> internalFactory; + + public FactoryToInternalFactoryAdapter(ContainerImpl container, + InternalFactory<? extends T> internalFactory) { + this.container = container; + this.internalFactory = internalFactory; + } + + public T get() { + return container.callInContext( + new ContainerImpl.ContextualCallable<T>() { + public T call(InternalContext context) { + return internalFactory.get(context); + } + }); + } + + public String toString() { + return internalFactory.toString(); + } +} |