TreeMultimap.java 4.07 KB
package com.google.common.collect;

import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.base.Preconditions;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Collection;
import java.util.Comparator;
import java.util.NavigableMap;
import java.util.NavigableSet;
import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;
import javax.annotation.Nullable;
import mu.k;
import nc;
import pt;

@GwtCompatible(emulated=true, serializable=true)
public class TreeMultimap<K, V>
  extends nc<K, V>
{
  @GwtIncompatible("not needed in emulated source")
  private static final long serialVersionUID = 0L;
  private transient Comparator<? super K> a;
  private transient Comparator<? super V> b;
  
  private TreeMultimap(Comparator<? super K> paramComparator, Comparator<? super V> paramComparator1)
  {
    super(new TreeMap(paramComparator));
    this.a = paramComparator;
    this.b = paramComparator1;
  }
  
  private TreeMultimap(Comparator<? super K> paramComparator, Comparator<? super V> paramComparator1, Multimap<? extends K, ? extends V> paramMultimap)
  {
    this(paramComparator, paramComparator1);
    putAll(paramMultimap);
  }
  
  public static <K extends Comparable, V extends Comparable> TreeMultimap<K, V> create()
  {
    return new TreeMultimap(Ordering.natural(), Ordering.natural());
  }
  
  public static <K extends Comparable, V extends Comparable> TreeMultimap<K, V> create(Multimap<? extends K, ? extends V> paramMultimap)
  {
    return new TreeMultimap(Ordering.natural(), Ordering.natural(), paramMultimap);
  }
  
  public static <K, V> TreeMultimap<K, V> create(Comparator<? super K> paramComparator, Comparator<? super V> paramComparator1)
  {
    return new TreeMultimap((Comparator)Preconditions.checkNotNull(paramComparator), (Comparator)Preconditions.checkNotNull(paramComparator1));
  }
  
  @GwtIncompatible("java.io.ObjectInputStream")
  private void readObject(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    paramObjectInputStream.defaultReadObject();
    this.a = ((Comparator)Preconditions.checkNotNull((Comparator)paramObjectInputStream.readObject()));
    this.b = ((Comparator)Preconditions.checkNotNull((Comparator)paramObjectInputStream.readObject()));
    a(new TreeMap(this.a));
    pt.a(this, paramObjectInputStream);
  }
  
  @GwtIncompatible("java.io.ObjectOutputStream")
  private void writeObject(ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    paramObjectOutputStream.defaultWriteObject();
    paramObjectOutputStream.writeObject(keyComparator());
    paramObjectOutputStream.writeObject(valueComparator());
    pt.a(this, paramObjectOutputStream);
  }
  
  final Collection<V> a(@Nullable K paramK)
  {
    if (paramK == null) {
      keyComparator().compare(paramK, paramK);
    }
    return super.a(paramK);
  }
  
  @GwtIncompatible("NavigableSet")
  final Collection<V> a(K paramK, Collection<V> paramCollection)
  {
    return new mu.k(this, paramK, (NavigableSet)paramCollection, null);
  }
  
  @GwtIncompatible("NavigableSet")
  final Collection<V> a(Collection<V> paramCollection)
  {
    return Sets.unmodifiableNavigableSet((NavigableSet)paramCollection);
  }
  
  @GwtIncompatible("NavigableMap")
  public NavigableMap<K, Collection<V>> asMap()
  {
    return (NavigableMap)super.asMap();
  }
  
  @GwtIncompatible("NavigableSet")
  public NavigableSet<V> get(@Nullable K paramK)
  {
    return (NavigableSet)super.get(paramK);
  }
  
  public Comparator<? super K> keyComparator()
  {
    return this.a;
  }
  
  @GwtIncompatible("NavigableSet")
  public NavigableSet<K> keySet()
  {
    return (NavigableSet)super.keySet();
  }
  
  final SortedSet<V> n()
  {
    return new TreeSet(this.b);
  }
  
  public Comparator<? super V> valueComparator()
  {
    return this.b;
  }
}


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