本文整理汇总了Java中com.google.inject.Key.toString方法的典型用法代码示例。如果您正苦于以下问题:Java Key.toString方法的具体用法?Java Key.toString怎么用?Java Key.toString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.inject.Key
的用法示例。
在下文中一共展示了Key.toString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: scope
import com.google.inject.Key; //导入方法依赖的package包/类
public <T> Provider<T> scope(final Key<T> key, final Provider<T> creator)
{
if (log.isDebugEnabled())
{
log.debug(String.format(
"scope %s: adding key %s with creator %s",
scopeName, key, creator
));
}
scopedKeys.add(key);
final String name = key.toString();
return new Provider<T>()
{
public T get()
{
if (log.isDebugEnabled())
{
log.debug(String.format(
"scope %s: getting key %s with creator %s",
scopeName, key, creator
));
}
C context = getContext(key);
R registry = registryFor(context);
InstanceProvider<T> future =
AbstractContextScope.this.get(registry, key, name);
if (future == null)
{
InstanceProvider<T> futureTask = new FutureTaskProvider<T>(creator);
future = putIfAbsent(registry, key, name, futureTask);
if (future == null)
{
future = futureTask;
futureTask.run();
if (Thread.currentThread().isInterrupted())
{
remove(registry, key, name, futureTask);
}
}
}
return future.get();
}
public String toString()
{
return new ToStringBuilder(this.getClass())
.add("scopeName", scopeName)
.add("type", type)
.add("key", key)
.add("creator", creator)
.toString();
}
};
}