ImmutableClassToInstanceMap.java
2.49 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
package com.google.common.collect;
import com.google.common.base.Preconditions;
import com.google.common.primitives.Primitives;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.annotation.Nullable;
public final class ImmutableClassToInstanceMap<B>
extends ForwardingMap<Class<? extends B>, B>
implements ClassToInstanceMap<B>, Serializable
{
private final ImmutableMap<Class<? extends B>, B> a;
private ImmutableClassToInstanceMap(ImmutableMap<Class<? extends B>, B> paramImmutableMap)
{
this.a = paramImmutableMap;
}
public static <B> Builder<B> builder()
{
return new Builder();
}
public static <B, S extends B> ImmutableClassToInstanceMap<B> copyOf(Map<? extends Class<? extends S>, ? extends S> paramMap)
{
if ((paramMap instanceof ImmutableClassToInstanceMap)) {
return (ImmutableClassToInstanceMap)paramMap;
}
return new Builder().putAll(paramMap).build();
}
protected final Map<Class<? extends B>, B> delegate()
{
return this.a;
}
@Nullable
public final <T extends B> T getInstance(Class<T> paramClass)
{
return (T)this.a.get(Preconditions.checkNotNull(paramClass));
}
@Deprecated
public final <T extends B> T putInstance(Class<T> paramClass, T paramT)
{
throw new UnsupportedOperationException();
}
public static final class Builder<B>
{
private final ImmutableMap.Builder<Class<? extends B>, B> a = ImmutableMap.builder();
public final ImmutableClassToInstanceMap<B> build()
{
return new ImmutableClassToInstanceMap(this.a.build(), (byte)0);
}
public final <T extends B> Builder<B> put(Class<T> paramClass, T paramT)
{
this.a.put(paramClass, paramT);
return this;
}
public final <T extends B> Builder<B> putAll(Map<? extends Class<? extends T>, ? extends T> paramMap)
{
paramMap = paramMap.entrySet().iterator();
while (paramMap.hasNext())
{
Object localObject = (Map.Entry)paramMap.next();
Class localClass = (Class)((Map.Entry)localObject).getKey();
localObject = ((Map.Entry)localObject).getValue();
this.a.put(localClass, Primitives.wrap(localClass).cast(localObject));
}
return this;
}
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/collect/ImmutableClassToInstanceMap.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/