or.java 3.13 KB
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import com.google.common.collect.UnmodifiableIterator;
import java.io.Serializable;
import java.util.EnumMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import javax.annotation.Nullable;

@GwtCompatible(emulated=true, serializable=true)
public final class or<K extends Enum<K>, V>
  extends ImmutableMap<K, V>
{
  private final transient EnumMap<K, V> a;
  
  private or(EnumMap<K, V> paramEnumMap)
  {
    this.a = paramEnumMap;
    if (!paramEnumMap.isEmpty()) {}
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool);
      return;
    }
  }
  
  public static <K extends Enum<K>, V> ImmutableMap<K, V> a(EnumMap<K, V> paramEnumMap)
  {
    switch (paramEnumMap.size())
    {
    default: 
      return new or(paramEnumMap);
    case 0: 
      return ImmutableMap.of();
    }
    paramEnumMap = (Map.Entry)Iterables.getOnlyElement(paramEnumMap.entrySet());
    return ImmutableMap.of(paramEnumMap.getKey(), paramEnumMap.getValue());
  }
  
  final boolean b()
  {
    return false;
  }
  
  final ImmutableSet<K> c()
  {
    new ImmutableSet()
    {
      final boolean a()
      {
        return true;
      }
      
      public final boolean contains(Object paramAnonymousObject)
      {
        return or.a(or.this).containsKey(paramAnonymousObject);
      }
      
      public final UnmodifiableIterator<K> iterator()
      {
        return Iterators.unmodifiableIterator(or.a(or.this).keySet().iterator());
      }
      
      public final int size()
      {
        return or.this.size();
      }
    };
  }
  
  public final boolean containsKey(@Nullable Object paramObject)
  {
    return this.a.containsKey(paramObject);
  }
  
  final ImmutableSet<Map.Entry<K, V>> d()
  {
    new ou()
    {
      final ImmutableMap<K, V> b()
      {
        return or.this;
      }
      
      public final UnmodifiableIterator<Map.Entry<K, V>> iterator()
      {
        new UnmodifiableIterator()
        {
          private final Iterator<Map.Entry<K, V>> b = or.a(or.this).entrySet().iterator();
          
          public final boolean hasNext()
          {
            return this.b.hasNext();
          }
        };
      }
    };
  }
  
  public final V get(Object paramObject)
  {
    return (V)this.a.get(paramObject);
  }
  
  public final int size()
  {
    return this.a.size();
  }
  
  final Object writeReplace()
  {
    return new or.a(this.a);
  }
  
  static final class a<K extends Enum<K>, V>
    implements Serializable
  {
    private static final long serialVersionUID = 0L;
    final EnumMap<K, V> a;
    
    a(EnumMap<K, V> paramEnumMap)
    {
      this.a = paramEnumMap;
    }
    
    final Object readResolve()
    {
      return new or(this.a, (byte)0);
    }
  }
}


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