SetBinding.java
4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package dagger.internal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
public final class SetBinding<T>
extends Binding<Set<T>>
{
private final List<Binding<?>> contributors;
private final SetBinding<T> parent;
public SetBinding(SetBinding<T> paramSetBinding)
{
super(paramSetBinding.provideKey, null, false, paramSetBinding.requiredBy);
this.parent = paramSetBinding;
setLibrary(paramSetBinding.library());
setDependedOn(paramSetBinding.dependedOn());
this.contributors = new ArrayList();
}
public SetBinding(String paramString, Object paramObject)
{
super(paramString, null, false, paramObject);
this.parent = null;
this.contributors = new ArrayList();
}
public static <T> void add(BindingsGroup paramBindingsGroup, String paramString, Binding<?> paramBinding)
{
prepareSetBinding(paramBindingsGroup, paramString, paramBinding).contributors.add(Linker.scope(paramBinding));
}
private static <T> SetBinding<T> prepareSetBinding(BindingsGroup paramBindingsGroup, String paramString, Binding<?> paramBinding)
{
Object localObject = paramBindingsGroup.get(paramString);
if ((localObject instanceof SetBinding))
{
paramBindingsGroup = (SetBinding)localObject;
if ((paramBindingsGroup.library()) && (paramBinding.library())) {}
for (boolean bool = true;; bool = false)
{
paramBindingsGroup.setLibrary(bool);
return paramBindingsGroup;
}
}
if (localObject != null) {
throw new IllegalArgumentException("Duplicate:\n " + localObject + "\n " + paramBinding);
}
localObject = new SetBinding(paramString, paramBinding.requiredBy);
((SetBinding)localObject).setLibrary(paramBinding.library());
paramBindingsGroup.contributeSetBinding(paramString, (SetBinding)localObject);
return (SetBinding)paramBindingsGroup.get(paramString);
}
public final void attach(Linker paramLinker)
{
Iterator localIterator = this.contributors.iterator();
while (localIterator.hasNext()) {
((Binding)localIterator.next()).attach(paramLinker);
}
}
public final Set<T> get()
{
ArrayList localArrayList = new ArrayList();
for (SetBinding localSetBinding = this; localSetBinding != null; localSetBinding = localSetBinding.parent)
{
int j = localSetBinding.contributors.size();
int i = 0;
if (i < j)
{
Binding localBinding = (Binding)localSetBinding.contributors.get(i);
Object localObject = localBinding.get();
if (localBinding.provideKey.equals(this.provideKey)) {
localArrayList.addAll((Set)localObject);
}
for (;;)
{
i += 1;
break;
localArrayList.add(localObject);
}
}
}
return Collections.unmodifiableSet(new LinkedHashSet(localArrayList));
}
public final void getDependencies(Set<Binding<?>> paramSet1, Set<Binding<?>> paramSet2)
{
for (paramSet2 = this; paramSet2 != null; paramSet2 = paramSet2.parent) {
paramSet1.addAll(paramSet2.contributors);
}
}
public final void injectMembers(Set<T> paramSet)
{
throw new UnsupportedOperationException("Cannot inject members on a contributed Set<T>.");
}
public final int size()
{
int i = 0;
for (SetBinding localSetBinding = this; localSetBinding != null; localSetBinding = localSetBinding.parent) {
i += localSetBinding.contributors.size();
}
return i;
}
public final String toString()
{
int i = 1;
StringBuilder localStringBuilder = new StringBuilder("SetBinding[");
for (SetBinding localSetBinding = this; localSetBinding != null; localSetBinding = localSetBinding.parent)
{
int k = localSetBinding.contributors.size();
int j = 0;
while (j < k)
{
if (i == 0) {
localStringBuilder.append(",");
}
localStringBuilder.append(localSetBinding.contributors.get(j));
j += 1;
i = 0;
}
}
localStringBuilder.append("]");
return localStringBuilder.toString();
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/dagger/internal/SetBinding.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/