EvictingQueue.java
2.02 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
package com.google.common.collect;
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import java.io.Serializable;
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Queue;
@Beta
@GwtIncompatible("java.util.ArrayDeque")
public final class EvictingQueue<E>
extends ForwardingQueue<E>
implements Serializable
{
private static final long serialVersionUID = 0L;
@VisibleForTesting
final int a;
private final Queue<E> b;
private EvictingQueue(int paramInt)
{
if (paramInt >= 0) {}
for (boolean bool = true;; bool = false)
{
Preconditions.checkArgument(bool, "maxSize (%s) must >= 0", new Object[] { Integer.valueOf(paramInt) });
this.b = new ArrayDeque(paramInt);
this.a = paramInt;
return;
}
}
public static <E> EvictingQueue<E> create(int paramInt)
{
return new EvictingQueue(paramInt);
}
public final boolean add(E paramE)
{
Preconditions.checkNotNull(paramE);
if (this.a == 0) {
return true;
}
if (size() == this.a) {
this.b.remove();
}
this.b.add(paramE);
return true;
}
public final boolean addAll(Collection<? extends E> paramCollection)
{
return standardAddAll(paramCollection);
}
public final boolean contains(Object paramObject)
{
return delegate().contains(Preconditions.checkNotNull(paramObject));
}
protected final Queue<E> delegate()
{
return this.b;
}
public final boolean offer(E paramE)
{
return add(paramE);
}
public final int remainingCapacity()
{
return this.a - size();
}
public final boolean remove(Object paramObject)
{
return delegate().remove(Preconditions.checkNotNull(paramObject));
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/collect/EvictingQueue.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/