当前位置: 首页>>代码示例>>Java>>正文


Java Key.ofType方法代码示例

本文整理汇总了Java中com.google.inject.Key.ofType方法的典型用法代码示例。如果您正苦于以下问题:Java Key.ofType方法的具体用法?Java Key.ofType怎么用?Java Key.ofType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.inject.Key的用法示例。


在下文中一共展示了Key.ofType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: InnerFactoryManifest

import com.google.inject.Key; //导入方法依赖的package包/类
public InnerFactoryManifest(Key<I> innerKey, TypeLiteral<O> outerType) {
    if(innerKey == null) {
        innerKey = Key.get(new ResolvableType<I>(){}.in(getClass()));
    }
    this.innerType = innerKey.getTypeLiteral();
    this.outerType = outerType != null ? outerType : new ResolvableType<O>(){}.in(getClass());

    this.factoryKey = innerKey.ofType(new ResolvableType<InnerFactory<O, I>>(){}
                                          .with(new TypeArgument<O>(this.outerType){},
                                                new TypeArgument<I>(this.innerType){}));
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:12,代码来源:InnerFactoryManifest.java

示例2: analyzeDependencies

import com.google.inject.Key; //导入方法依赖的package包/类
private void analyzeDependencies(final Collection<Dependency<?>> dependencies)
{
	for( final Dependency<?> d : dependencies )
	{
		final Key<?> key = d.getKey();
		InjectionPoint injectionPoint = d.getInjectionPoint();
		if( injectionPoint != null && injectionPoint.isOptional() )
		{
			continue;
		}
		if( key.getAnnotationType() == Assisted.class )
		{
			continue;
		}
		TypeLiteral<?> typeLiteral = key.getTypeLiteral();
		Class<?> rawType = typeLiteral.getRawType();
		if( rawType == Injector.class )
		{
			continue;
		}
		if( rawType == MembersInjector.class )
		{
			Key<?> injectedKey = key
				.ofType(((ParameterizedType) typeLiteral.getType()).getActualTypeArguments()[0]);
			dependentKeys.add(injectedKey);
			analyzeImplementation(injectedKey.getTypeLiteral(), true);
		}
		else if( rawType == Provider.class )
		{
			dependentKeys.add(key.ofType(((ParameterizedType) typeLiteral.getType()).getActualTypeArguments()[0]));
		}
		else
		{
			dependentKeys.add(key);
		}
	}
}
 
开发者ID:equella,项目名称:Equella,代码行数:38,代码来源:DependencyAnalyzer.java

示例3: bindPrimitiveParser

import com.google.inject.Key; //导入方法依赖的package包/类
default <T> LinkedBindingBuilder<PrimitiveParser<T>> bindPrimitiveParser(Key<T> key) {
    final Key<PrimitiveParser<T>> parserKey = key.ofType(PrimitiveParser.typeOf(key.getTypeLiteral()));
    bindParser(key).to(parserKey);
    return bind(parserKey);
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:6,代码来源:ParserBinders.java

示例4: bindElementParser

import com.google.inject.Key; //导入方法依赖的package包/类
default <T> LinkedBindingBuilder<ElementParser<T>> bindElementParser(Key<T> key) {
    final Key<ElementParser<T>> parserKey = key.ofType(new ResolvableType<ElementParser<T>>(){}.with(new TypeArgument<T>(key.getTypeLiteral()){}));
    bindParser(key).to(parserKey);
    return bind(parserKey);
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:6,代码来源:ParserBinders.java


注:本文中的com.google.inject.Key.ofType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。