blob: a7bca2bb36e06b7e6ea8682a8154615712ab80a6 [file] [log] [blame]
crazyboblee7289ac12007-02-01 00:28:09 +00001// Copyright 2006 Google Inc. All Rights Reserved.
2
3package com.google.inject;
4
5/**
6 * @author crazybob@google.com (Bob Lee)
7*/
8class FactoryToInternalFactoryAdapter<T> implements Factory<T> {
9
10 private final ContainerImpl container;
11
12 private final InternalFactory<? extends T> internalFactory;
13
14 public FactoryToInternalFactoryAdapter(ContainerImpl container,
15 InternalFactory<? extends T> internalFactory) {
16 this.container = container;
17 this.internalFactory = internalFactory;
18 }
19
20 public T get() {
21 return container.callInContext(
22 new ContainerImpl.ContextualCallable<T>() {
23 public T call(InternalContext context) {
24 return internalFactory.get(context);
25 }
26 });
27 }
28
29 public String toString() {
30 return internalFactory.toString();
31 }
32}