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, reprclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprotected 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 BuiltInProviderInfopublic final T createInfo(Object... args) throws IllegalAccessException, InvocationTargetException, InstantiationException
args - the args to the BuiltInProviderInfo being constructedIllegalAccessExceptionInvocationTargetExceptionInstantiationExceptionpublic Provider.Key<T> getKey()
ProviderProvider.getKey in interface Provider<T extends BuiltInProviderInfo<T>>