1 16 17 package com.google.inject; 18 19 import java.lang.reflect.Member ; 20 import java.util.LinkedHashMap ; 21 22 28 class ExternalContext<T> implements Context { 29 30 final Member member; 31 final Key<T> key; 32 final InjectorImpl injector; 33 final int parameterIndex; 34 35 public ExternalContext(Member member, int paramterIndex, Key<T> key, 36 InjectorImpl injector) { 37 this.member = member; 38 this.key = key; 39 this.injector = injector; 40 this.parameterIndex = paramterIndex; 41 } 42 43 public Key<?> getKey() { 44 return this.key; 45 } 46 47 public Injector getInjector() { 48 return injector; 49 } 50 51 public Member getMember() { 52 return member; 53 } 54 55 public int getParameterIndex() { 56 return parameterIndex; 57 } 58 59 public String toString() { 60 return "Context" + new LinkedHashMap <String , Object >() {{ 61 put("member", member); 62 put("key", getKey()); 63 put("injector", injector); 64 }}.toString(); 65 } 66 67 static <T> ExternalContext<T> newInstance( 68 Member member, Key<T> key, InjectorImpl injector) { 69 return new ExternalContext<T>(member, -1, key, injector); 70 } 71 72 static <T> ExternalContext<T> newInstance(Member member, int parameterIndex, 73 Key<T> key, InjectorImpl injector) { 74 return new ExternalContext<T>(member, parameterIndex, key, injector); 75 } 76 } 77 | Popular Tags |