ImmutableBiMap.java 3.57 KB
package com.google.common.collect;

import com.google.common.annotations.GwtCompatible;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import nw;
import ot.a;
import pi;
import pu;

@GwtCompatible(emulated=true, serializable=true)
public abstract class ImmutableBiMap<K, V>
  extends ImmutableMap<K, V>
  implements BiMap<K, V>
{
  private static final Map.Entry<?, ?>[] a = new Map.Entry[0];
  
  public static <K, V> Builder<K, V> builder()
  {
    return new Builder();
  }
  
  public static <K, V> ImmutableBiMap<K, V> copyOf(Map<? extends K, ? extends V> paramMap)
  {
    if ((paramMap instanceof ImmutableBiMap))
    {
      ImmutableBiMap localImmutableBiMap = (ImmutableBiMap)paramMap;
      if (!localImmutableBiMap.b()) {
        return localImmutableBiMap;
      }
    }
    paramMap = (Map.Entry[])paramMap.entrySet().toArray(a);
    switch (paramMap.length)
    {
    default: 
      return new pi(paramMap);
    case 0: 
      return of();
    }
    paramMap = paramMap[0];
    return of(paramMap.getKey(), paramMap.getValue());
  }
  
  public static <K, V> ImmutableBiMap<K, V> of()
  {
    return nw.a;
  }
  
  public static <K, V> ImmutableBiMap<K, V> of(K paramK, V paramV)
  {
    return new pu(paramK, paramV);
  }
  
  public static <K, V> ImmutableBiMap<K, V> of(K paramK1, V paramV1, K paramK2, V paramV2)
  {
    return new pi(new ot.a[] { a(paramK1, paramV1), a(paramK2, paramV2) });
  }
  
  public static <K, V> ImmutableBiMap<K, V> of(K paramK1, V paramV1, K paramK2, V paramV2, K paramK3, V paramV3)
  {
    return new pi(new ot.a[] { a(paramK1, paramV1), a(paramK2, paramV2), a(paramK3, paramV3) });
  }
  
  public static <K, V> ImmutableBiMap<K, V> of(K paramK1, V paramV1, K paramK2, V paramV2, K paramK3, V paramV3, K paramK4, V paramV4)
  {
    return new pi(new ot.a[] { a(paramK1, paramV1), a(paramK2, paramV2), a(paramK3, paramV3), a(paramK4, paramV4) });
  }
  
  public static <K, V> ImmutableBiMap<K, V> of(K paramK1, V paramV1, K paramK2, V paramV2, K paramK3, V paramV3, K paramK4, V paramV4, K paramK5, V paramV5)
  {
    return new pi(new ot.a[] { a(paramK1, paramV1), a(paramK2, paramV2), a(paramK3, paramV3), a(paramK4, paramV4), a(paramK5, paramV5) });
  }
  
  @Deprecated
  public V forcePut(K paramK, V paramV)
  {
    throw new UnsupportedOperationException();
  }
  
  public abstract ImmutableBiMap<V, K> inverse();
  
  public ImmutableSet<V> values()
  {
    return inverse().keySet();
  }
  
  public Object writeReplace()
  {
    return new a(this);
  }
  
  public static final class Builder<K, V>
    extends ImmutableMap.Builder<K, V>
  {
    public final ImmutableBiMap<K, V> build()
    {
      switch (this.b)
      {
      default: 
        return new pi(this.b, this.a);
      case 0: 
        return ImmutableBiMap.of();
      }
      return ImmutableBiMap.of(this.a[0].getKey(), this.a[0].getValue());
    }
    
    public final Builder<K, V> put(K paramK, V paramV)
    {
      super.put(paramK, paramV);
      return this;
    }
    
    public final Builder<K, V> putAll(Map<? extends K, ? extends V> paramMap)
    {
      super.putAll(paramMap);
      return this;
    }
  }
  
  static final class a
    extends ImmutableMap.b
  {
    private static final long serialVersionUID = 0L;
    
    a(ImmutableBiMap<?, ?> paramImmutableBiMap)
    {
      super();
    }
    
    final Object readResolve()
    {
      return a(new ImmutableBiMap.Builder());
    }
  }
}


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