17dd252788645e940eada959bdde927426e2531c9Paul Duffin/*
27dd252788645e940eada959bdde927426e2531c9Paul Duffin * Copyright (C) 2012 The Guava Authors
37dd252788645e940eada959bdde927426e2531c9Paul Duffin *
47dd252788645e940eada959bdde927426e2531c9Paul Duffin * Licensed under the Apache License, Version 2.0 (the "License");
57dd252788645e940eada959bdde927426e2531c9Paul Duffin * you may not use this file except in compliance with the License.
67dd252788645e940eada959bdde927426e2531c9Paul Duffin * You may obtain a copy of the License at
77dd252788645e940eada959bdde927426e2531c9Paul Duffin *
87dd252788645e940eada959bdde927426e2531c9Paul Duffin * http://www.apache.org/licenses/LICENSE-2.0
97dd252788645e940eada959bdde927426e2531c9Paul Duffin *
107dd252788645e940eada959bdde927426e2531c9Paul Duffin * Unless required by applicable law or agreed to in writing, software
117dd252788645e940eada959bdde927426e2531c9Paul Duffin * distributed under the License is distributed on an "AS IS" BASIS,
127dd252788645e940eada959bdde927426e2531c9Paul Duffin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137dd252788645e940eada959bdde927426e2531c9Paul Duffin * See the License for the specific language governing permissions and
147dd252788645e940eada959bdde927426e2531c9Paul Duffin * limitations under the License.
157dd252788645e940eada959bdde927426e2531c9Paul Duffin */
167dd252788645e940eada959bdde927426e2531c9Paul Duffin
177dd252788645e940eada959bdde927426e2531c9Paul Duffinpackage com.google.common.collect;
187dd252788645e940eada959bdde927426e2531c9Paul Duffin
197dd252788645e940eada959bdde927426e2531c9Paul Duffinimport com.google.common.annotations.GwtCompatible;
207dd252788645e940eada959bdde927426e2531c9Paul Duffin
217dd252788645e940eada959bdde927426e2531c9Paul Duffinimport java.util.Collection;
227dd252788645e940eada959bdde927426e2531c9Paul Duffinimport java.util.SortedMap;
237dd252788645e940eada959bdde927426e2531c9Paul Duffinimport java.util.SortedSet;
247dd252788645e940eada959bdde927426e2531c9Paul Duffin
257dd252788645e940eada959bdde927426e2531c9Paul Duffin/**
267dd252788645e940eada959bdde927426e2531c9Paul Duffin * Basic implementation of a {@link SortedSetMultimap} with a sorted key set.
277dd252788645e940eada959bdde927426e2531c9Paul Duffin *
287dd252788645e940eada959bdde927426e2531c9Paul Duffin * This superclass allows {@code TreeMultimap} to override methods to return
297dd252788645e940eada959bdde927426e2531c9Paul Duffin * navigable set and map types in non-GWT only, while GWT code will inherit the
307dd252788645e940eada959bdde927426e2531c9Paul Duffin * SortedMap/SortedSet overrides.
317dd252788645e940eada959bdde927426e2531c9Paul Duffin *
327dd252788645e940eada959bdde927426e2531c9Paul Duffin * @author Louis Wasserman
337dd252788645e940eada959bdde927426e2531c9Paul Duffin */
347dd252788645e940eada959bdde927426e2531c9Paul Duffin@GwtCompatible
357dd252788645e940eada959bdde927426e2531c9Paul Duffinabstract class AbstractSortedKeySortedSetMultimap<K, V> extends AbstractSortedSetMultimap<K, V> {
367dd252788645e940eada959bdde927426e2531c9Paul Duffin
377dd252788645e940eada959bdde927426e2531c9Paul Duffin  AbstractSortedKeySortedSetMultimap(SortedMap<K, Collection<V>> map) {
387dd252788645e940eada959bdde927426e2531c9Paul Duffin    super(map);
397dd252788645e940eada959bdde927426e2531c9Paul Duffin  }
407dd252788645e940eada959bdde927426e2531c9Paul Duffin
417dd252788645e940eada959bdde927426e2531c9Paul Duffin  @Override
427dd252788645e940eada959bdde927426e2531c9Paul Duffin  public SortedMap<K, Collection<V>> asMap() {
437dd252788645e940eada959bdde927426e2531c9Paul Duffin    return (SortedMap<K, Collection<V>>) super.asMap();
447dd252788645e940eada959bdde927426e2531c9Paul Duffin  }
457dd252788645e940eada959bdde927426e2531c9Paul Duffin
467dd252788645e940eada959bdde927426e2531c9Paul Duffin  @Override
477dd252788645e940eada959bdde927426e2531c9Paul Duffin  SortedMap<K, Collection<V>> backingMap() {
487dd252788645e940eada959bdde927426e2531c9Paul Duffin    return (SortedMap<K, Collection<V>>) super.backingMap();
497dd252788645e940eada959bdde927426e2531c9Paul Duffin  }
507dd252788645e940eada959bdde927426e2531c9Paul Duffin
517dd252788645e940eada959bdde927426e2531c9Paul Duffin  @Override
527dd252788645e940eada959bdde927426e2531c9Paul Duffin  public SortedSet<K> keySet() {
537dd252788645e940eada959bdde927426e2531c9Paul Duffin    return (SortedSet<K>) super.keySet();
547dd252788645e940eada959bdde927426e2531c9Paul Duffin  }
557dd252788645e940eada959bdde927426e2531c9Paul Duffin
567dd252788645e940eada959bdde927426e2531c9Paul Duffin}
57