T
- the specific type of the ProviderInfo
this instance of the provider creates.public class BuiltInProvider<T extends BuiltInProviderInfo<T>> extends BuckStarlarkFunction implements Provider<T>
Provider
for a ProviderInfo
that is declared in java. The provider is auto
generated by any BuiltInProviderInfo
that is declared via reflection.Provider.Key<T>
Modifier and Type | Field and Description |
---|---|
protected com.facebook.buck.core.rules.providers.impl.BuiltInProvider.BuiltInKey<T> |
key |
Modifier and Type | Method and Description |
---|---|
T |
createInfo(Object... args)
Constructs the info.
|
Provider.Key<T> |
getKey()
Returns a serializable representation of this
Provider . |
static <U extends BuiltInProviderInfo<U>> |
of(Class<? extends U> infoClass) |
call, getName, repr
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected final com.facebook.buck.core.rules.providers.impl.BuiltInProvider.BuiltInKey<T extends BuiltInProviderInfo<T>> key
public static <U extends BuiltInProviderInfo<U>> BuiltInProvider<U> of(Class<? extends U> infoClass)
U
- the type of the specific BuiltInProviderInfo
this provider is for.infoClass
- the generated immutable class containing the API of the ProviderInfo
we want to expose.BuiltInProvider
that identifies and can be used to construct the BuiltInProviderInfo
public final T createInfo(Object... args) throws IllegalAccessException, InvocationTargetException, InstantiationException
args
- the args to the BuiltInProviderInfo
being constructedIllegalAccessException
InvocationTargetException
InstantiationException
public Provider.Key<T> getKey()
Provider
Provider
.getKey
in interface Provider<T extends BuiltInProviderInfo<T>>