Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
@@ -0,0 +1,241 @@
|
||||
package com.google.firebase.components;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class Component<T> {
|
||||
private final Set<Dependency> dependencies;
|
||||
private final ComponentFactory<T> factory;
|
||||
private final int instantiation;
|
||||
private final String name;
|
||||
private final Set<Qualified<? super T>> providedInterfaces;
|
||||
private final Set<Class<?>> publishedEvents;
|
||||
private final int type;
|
||||
|
||||
public static <T> Builder<T> builder(Class<T> cls) {
|
||||
return new Builder<>(cls, new Class[0]);
|
||||
}
|
||||
|
||||
public static <T> Component<T> intoSet(T t2, Class<T> cls) {
|
||||
return intoSetBuilder(cls).factory(new a(t2, 2)).build();
|
||||
}
|
||||
|
||||
public static <T> Builder<T> intoSetBuilder(Class<T> cls) {
|
||||
return builder(cls).intoSet();
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ Object lambda$intoSet$3(Object obj, ComponentContainer componentContainer) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ Object lambda$intoSet$4(Object obj, ComponentContainer componentContainer) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ Object lambda$of$0(Object obj, ComponentContainer componentContainer) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ Object lambda$of$1(Object obj, ComponentContainer componentContainer) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static /* synthetic */ Object lambda$of$2(Object obj, ComponentContainer componentContainer) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static <T> Component<T> of(Class<T> cls, T t2) {
|
||||
return builder(cls).factory(new a(t2, 3)).build();
|
||||
}
|
||||
|
||||
public Set<Dependency> getDependencies() {
|
||||
return this.dependencies;
|
||||
}
|
||||
|
||||
public ComponentFactory<T> getFactory() {
|
||||
return this.factory;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public Set<Qualified<? super T>> getProvidedInterfaces() {
|
||||
return this.providedInterfaces;
|
||||
}
|
||||
|
||||
public Set<Class<?>> getPublishedEvents() {
|
||||
return this.publishedEvents;
|
||||
}
|
||||
|
||||
public boolean isAlwaysEager() {
|
||||
return this.instantiation == 1;
|
||||
}
|
||||
|
||||
public boolean isEagerInDefaultApp() {
|
||||
return this.instantiation == 2;
|
||||
}
|
||||
|
||||
public boolean isLazy() {
|
||||
return this.instantiation == 0;
|
||||
}
|
||||
|
||||
public boolean isValue() {
|
||||
return this.type == 0;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Component<" + Arrays.toString(this.providedInterfaces.toArray()) + ">{" + this.instantiation + ", type=" + this.type + ", deps=" + Arrays.toString(this.dependencies.toArray()) + "}";
|
||||
}
|
||||
|
||||
public Component<T> withFactory(ComponentFactory<T> componentFactory) {
|
||||
return new Component<>(this.name, this.providedInterfaces, this.dependencies, this.instantiation, this.type, componentFactory, this.publishedEvents);
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static class Builder<T> {
|
||||
private final Set<Dependency> dependencies;
|
||||
private ComponentFactory<T> factory;
|
||||
private int instantiation;
|
||||
private String name;
|
||||
private final Set<Qualified<? super T>> providedInterfaces;
|
||||
private final Set<Class<?>> publishedEvents;
|
||||
private int type;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public Builder<T> intoSet() {
|
||||
this.type = 1;
|
||||
return this;
|
||||
}
|
||||
|
||||
private Builder<T> setInstantiation(int i) {
|
||||
Preconditions.checkState(this.instantiation == 0, "Instantiation type has already been set.");
|
||||
this.instantiation = i;
|
||||
return this;
|
||||
}
|
||||
|
||||
private void validateInterface(Qualified<?> qualified) {
|
||||
Preconditions.checkArgument(!this.providedInterfaces.contains(qualified), "Components are not allowed to depend on interfaces they themselves provide.");
|
||||
}
|
||||
|
||||
public Builder<T> add(Dependency dependency) {
|
||||
Preconditions.checkNotNull(dependency, "Null dependency");
|
||||
validateInterface(dependency.getInterface());
|
||||
this.dependencies.add(dependency);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder<T> alwaysEager() {
|
||||
return setInstantiation(1);
|
||||
}
|
||||
|
||||
public Component<T> build() {
|
||||
Preconditions.checkState(this.factory != null, "Missing required property: factory.");
|
||||
return new Component<>(this.name, new HashSet(this.providedInterfaces), new HashSet(this.dependencies), this.instantiation, this.type, this.factory, this.publishedEvents);
|
||||
}
|
||||
|
||||
public Builder<T> eagerInDefaultApp() {
|
||||
return setInstantiation(2);
|
||||
}
|
||||
|
||||
public Builder<T> factory(ComponentFactory<T> componentFactory) {
|
||||
this.factory = (ComponentFactory) Preconditions.checkNotNull(componentFactory, "Null factory");
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder<T> name(String str) {
|
||||
this.name = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder<T> publishes(Class<?> cls) {
|
||||
this.publishedEvents.add(cls);
|
||||
return this;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
private Builder(Class<T> cls, Class<? super T>... clsArr) {
|
||||
this.name = null;
|
||||
HashSet hashSet = new HashSet();
|
||||
this.providedInterfaces = hashSet;
|
||||
this.dependencies = new HashSet();
|
||||
this.instantiation = 0;
|
||||
this.type = 0;
|
||||
this.publishedEvents = new HashSet();
|
||||
Preconditions.checkNotNull(cls, "Null interface");
|
||||
hashSet.add(Qualified.unqualified(cls));
|
||||
for (Class<? super T> cls2 : clsArr) {
|
||||
Preconditions.checkNotNull(cls2, "Null interface");
|
||||
this.providedInterfaces.add(Qualified.unqualified(cls2));
|
||||
}
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
private Builder(Qualified<T> qualified, Qualified<? super T>... qualifiedArr) {
|
||||
this.name = null;
|
||||
HashSet hashSet = new HashSet();
|
||||
this.providedInterfaces = hashSet;
|
||||
this.dependencies = new HashSet();
|
||||
this.instantiation = 0;
|
||||
this.type = 0;
|
||||
this.publishedEvents = new HashSet();
|
||||
Preconditions.checkNotNull(qualified, "Null interface");
|
||||
hashSet.add(qualified);
|
||||
for (Qualified<? super T> qualified2 : qualifiedArr) {
|
||||
Preconditions.checkNotNull(qualified2, "Null interface");
|
||||
}
|
||||
Collections.addAll(this.providedInterfaces, qualifiedArr);
|
||||
}
|
||||
}
|
||||
|
||||
private Component(String str, Set<Qualified<? super T>> set, Set<Dependency> set2, int i, int i4, ComponentFactory<T> componentFactory, Set<Class<?>> set3) {
|
||||
this.name = str;
|
||||
this.providedInterfaces = Collections.unmodifiableSet(set);
|
||||
this.dependencies = Collections.unmodifiableSet(set2);
|
||||
this.instantiation = i;
|
||||
this.type = i4;
|
||||
this.factory = componentFactory;
|
||||
this.publishedEvents = Collections.unmodifiableSet(set3);
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> Builder<T> builder(Class<T> cls, Class<? super T>... clsArr) {
|
||||
return new Builder<>(cls, clsArr);
|
||||
}
|
||||
|
||||
public static <T> Component<T> intoSet(T t2, Qualified<T> qualified) {
|
||||
return intoSetBuilder(qualified).factory(new a(t2, 1)).build();
|
||||
}
|
||||
|
||||
public static <T> Builder<T> intoSetBuilder(Qualified<T> qualified) {
|
||||
return builder(qualified).intoSet();
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> Component<T> of(T t2, Class<T> cls, Class<? super T>... clsArr) {
|
||||
return builder(cls, clsArr).factory(new a(t2, 4)).build();
|
||||
}
|
||||
|
||||
public static <T> Builder<T> builder(Qualified<T> qualified) {
|
||||
return new Builder<>(qualified, new Qualified[0]);
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> Component<T> of(T t2, Qualified<T> qualified, Qualified<? super T>... qualifiedArr) {
|
||||
return builder(qualified, qualifiedArr).factory(new a(t2, 0)).build();
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public static <T> Builder<T> builder(Qualified<T> qualified, Qualified<? super T>... qualifiedArr) {
|
||||
return new Builder<>(qualified, qualifiedArr);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user