package com.google.common.collect;

import com.google.common.base.Preconditions;
import java.util.Comparator;
import java.util.Map.Entry;
import java.util.SortedMap;
import javax.annotation.Nullable;

public abstract class ImmutableSortedMap<K, V> extends ImmutableSortedMapFauxverideShim<K, V>
  implements SortedMap<K, V>
{
  private static final ImmutableSortedMap<Comparable, Object> NATURAL_EMPTY_MAP = new EmptyImmutableSortedMap(NATURAL_ORDER);
  private static final Comparator<Comparable> NATURAL_ORDER = Ordering.natural();

  public Comparator<? super K> comparator()
  {
    return keySet().comparator();
  }

  public boolean containsValue(@Nullable Object paramObject)
  {
    return values().contains(paramObject);
  }

  public ImmutableSet<Map.Entry<K, V>> entrySet()
  {
    return super.entrySet();
  }

  public K firstKey()
  {
    return keySet().first();
  }

  public ImmutableSortedMap<K, V> headMap(K paramK)
  {
    return headMap(paramK, false);
  }

  public abstract ImmutableSortedMap<K, V> headMap(K paramK, boolean paramBoolean);

  boolean isPartialView()
  {
    return (keySet().isPartialView()) || (values().isPartialView());
  }

  public abstract ImmutableSortedSet<K> keySet();

  public K lastKey()
  {
    return keySet().last();
  }

  public int size()
  {
    return values().size();
  }

  public ImmutableSortedMap<K, V> subMap(K paramK1, K paramK2)
  {
    return subMap(paramK1, true, paramK2, false);
  }

  public ImmutableSortedMap<K, V> subMap(K paramK1, boolean paramBoolean1, K paramK2, boolean paramBoolean2)
  {
    Preconditions.checkNotNull(paramK1);
    Preconditions.checkNotNull(paramK2);
    if (comparator().compare(paramK1, paramK2) <= 0);
    for (boolean bool = true; ; bool = false)
    {
      Preconditions.checkArgument(bool, "expected fromKey <= toKey but %s > %s", new Object[] { paramK1, paramK2 });
      return headMap(paramK2, paramBoolean2).tailMap(paramK1, paramBoolean1);
    }
  }

  public ImmutableSortedMap<K, V> tailMap(K paramK)
  {
    return tailMap(paramK, true);
  }

  public abstract ImmutableSortedMap<K, V> tailMap(K paramK, boolean paramBoolean);

  public abstract ImmutableCollection<V> values();
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.common.collect.ImmutableSortedMap
 * JD-Core Version:    0.6.2
 */