package org.limewire.inject;
import com.google.inject.Provider;
public class Providers {
public static <T> Provider<T> of(T instance) {
return new SimpleProvider<T>(instance);
}
@SuppressWarnings({"UnusedDeclaration"})
public static <T> Provider<T> nullProvider(Class<? extends T> forTypeSafety) {
return new EmptyProvider<T>();
}
/** A simple provider that always returns T. */
private static class SimpleProvider<T> implements Provider<T> {
private final T t;
public SimpleProvider(T t) {
this.t = t;
}
public T get() {
return t;
}
}
private static class EmptyProvider<T> implements Provider<T> {
public T get() {
return null;
}
}
}