EnumHashBiMap.java 2.34 KB
package com.google.common.collect;

import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Nullable;
import mr;
import pt;
import qk;

@GwtCompatible(emulated=true)
public final class EnumHashBiMap<K extends Enum<K>, V>
  extends mr<K, V>
{
  @GwtIncompatible("only needed in emulated source.")
  private static final long serialVersionUID = 0L;
  private transient Class<K> b;
  
  private EnumHashBiMap(Class<K> paramClass)
  {
    super(qk.a(new EnumMap(paramClass)), Maps.newHashMapWithExpectedSize(((Enum[])paramClass.getEnumConstants()).length));
    this.b = paramClass;
  }
  
  public static <K extends Enum<K>, V> EnumHashBiMap<K, V> create(Class<K> paramClass)
  {
    return new EnumHashBiMap(paramClass);
  }
  
  public static <K extends Enum<K>, V> EnumHashBiMap<K, V> create(Map<K, ? extends V> paramMap)
  {
    EnumHashBiMap localEnumHashBiMap = create(EnumBiMap.a(paramMap));
    localEnumHashBiMap.putAll(paramMap);
    return localEnumHashBiMap;
  }
  
  @GwtIncompatible("java.io.ObjectInputStream")
  private void readObject(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    paramObjectInputStream.defaultReadObject();
    this.b = ((Class)paramObjectInputStream.readObject());
    a(qk.a(new EnumMap(this.b)), new HashMap(((Enum[])this.b.getEnumConstants()).length * 3 / 2));
    pt.a(this, paramObjectInputStream);
  }
  
  @GwtIncompatible("java.io.ObjectOutputStream")
  private void writeObject(ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    paramObjectOutputStream.defaultWriteObject();
    paramObjectOutputStream.writeObject(this.b);
    pt.a(this, paramObjectOutputStream);
  }
  
  public final V forcePut(K paramK, @Nullable V paramV)
  {
    return (V)super.forcePut(paramK, paramV);
  }
  
  public final Class<K> keyType()
  {
    return this.b;
  }
  
  public final V put(K paramK, @Nullable V paramV)
  {
    return (V)super.put(paramK, paramV);
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/collect/EnumHashBiMap.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */