本文整理汇总了Java中com.google.inject.Injector.getBindings方法的典型用法代码示例。如果您正苦于以下问题:Java Injector.getBindings方法的具体用法?Java Injector.getBindings怎么用?Java Injector.getBindings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.inject.Injector
的用法示例。
在下文中一共展示了Injector.getBindings方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getBeansOfType
import com.google.inject.Injector; //导入方法依赖的package包/类
@Override
public <T> Collection<T> getBeansOfType(Class<T> clazz)
{
Injector injector = ensureInjector();
List<T> beans = new ArrayList<T>();
Map<Key<?>, Binding<?>> bindings = injector.getBindings();
for( Binding<?> binding : bindings.values() )
{
Key<?> actualKey = null;
if( binding instanceof UntargettedBinding || binding instanceof ConstructorBinding )
{
actualKey = binding.getKey();
}
else if( binding instanceof LinkedKeyBinding )
{
actualKey = ((LinkedKeyBinding<?>) binding).getLinkedKey();
}
else if( binding instanceof ProviderBinding )
{
actualKey = ((ProviderBinding<?>) binding).getProvidedKey();
}
if( actualKey != null && clazz.isAssignableFrom(actualKey.getTypeLiteral().getRawType()) )
{
beans.add(clazz.cast(binding.getProvider().get()));
}
}
return beans;
}