pc$b.java 4.58 KB
import com.google.common.base.Equivalence;
import com.google.common.base.Preconditions;
import com.google.common.collect.ForwardingConcurrentMap;
import com.google.common.collect.MapMaker;
import com.google.common.collect.MapMaker.d;
import com.google.common.collect.MapMaker.e;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;

abstract class pc$b<K, V>
  extends ForwardingConcurrentMap<K, V>
  implements Serializable
{
  private static final long serialVersionUID = 3L;
  final pc.p b;
  final pc.p c;
  final Equivalence<Object> d;
  final Equivalence<Object> e;
  final long f;
  final long g;
  final int h;
  final int i;
  final MapMaker.e<? super K, ? super V> j;
  transient ConcurrentMap<K, V> k;
  
  pc$b(pc.p paramp1, pc.p paramp2, Equivalence<Object> paramEquivalence1, Equivalence<Object> paramEquivalence2, long paramLong1, long paramLong2, int paramInt1, int paramInt2, MapMaker.e<? super K, ? super V> parame, ConcurrentMap<K, V> paramConcurrentMap)
  {
    this.b = paramp1;
    this.c = paramp2;
    this.d = paramEquivalence1;
    this.e = paramEquivalence2;
    this.f = paramLong1;
    this.g = paramLong2;
    this.h = paramInt1;
    this.i = paramInt2;
    this.j = parame;
    this.k = paramConcurrentMap;
  }
  
  final MapMaker a(ObjectInputStream paramObjectInputStream)
    throws IOException
  {
    boolean bool2 = false;
    int m = paramObjectInputStream.readInt();
    paramObjectInputStream = new MapMaker().initialCapacity(m).a(this.b).b(this.c).a(this.d).concurrencyLevel(this.i);
    Object localObject = this.j;
    if (paramObjectInputStream.a == null)
    {
      bool1 = true;
      Preconditions.checkState(bool1);
      paramObjectInputStream.a = ((MapMaker.e)Preconditions.checkNotNull(localObject));
      paramObjectInputStream.b = true;
      long l;
      if (this.f > 0L)
      {
        l = this.f;
        localObject = TimeUnit.NANOSECONDS;
        paramObjectInputStream.a(l, (TimeUnit)localObject);
        paramObjectInputStream.h = ((TimeUnit)localObject).toNanos(l);
        if ((l == 0L) && (paramObjectInputStream.j == null)) {
          paramObjectInputStream.j = MapMaker.d.d;
        }
        paramObjectInputStream.b = true;
      }
      if (this.g > 0L)
      {
        l = this.g;
        localObject = TimeUnit.NANOSECONDS;
        paramObjectInputStream.a(l, (TimeUnit)localObject);
        paramObjectInputStream.i = ((TimeUnit)localObject).toNanos(l);
        if ((l == 0L) && (paramObjectInputStream.j == null)) {
          paramObjectInputStream.j = MapMaker.d.d;
        }
        paramObjectInputStream.b = true;
      }
      if (this.h != -1)
      {
        m = this.h;
        if (paramObjectInputStream.e != -1) {
          break label303;
        }
      }
    }
    label303:
    for (boolean bool1 = true;; bool1 = false)
    {
      Preconditions.checkState(bool1, "maximum size was already set to %s", new Object[] { Integer.valueOf(paramObjectInputStream.e) });
      bool1 = bool2;
      if (m >= 0) {
        bool1 = true;
      }
      Preconditions.checkArgument(bool1, "maximum size must not be negative");
      paramObjectInputStream.e = m;
      paramObjectInputStream.b = true;
      if (paramObjectInputStream.e == 0) {
        paramObjectInputStream.j = MapMaker.d.e;
      }
      return paramObjectInputStream;
      bool1 = false;
      break;
    }
  }
  
  final void a(ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    paramObjectOutputStream.writeInt(this.k.size());
    Iterator localIterator = this.k.entrySet().iterator();
    while (localIterator.hasNext())
    {
      Map.Entry localEntry = (Map.Entry)localIterator.next();
      paramObjectOutputStream.writeObject(localEntry.getKey());
      paramObjectOutputStream.writeObject(localEntry.getValue());
    }
    paramObjectOutputStream.writeObject(null);
  }
  
  final void b(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    for (;;)
    {
      Object localObject1 = paramObjectInputStream.readObject();
      if (localObject1 == null) {
        break;
      }
      Object localObject2 = paramObjectInputStream.readObject();
      this.k.put(localObject1, localObject2);
    }
  }
  
  protected ConcurrentMap<K, V> delegate()
  {
    return this.k;
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/pc$b.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */