/* * Copyright (C) 2011 The Guava Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.common.collect; import com.google.common.annotations.Beta; import java.util.Comparator; import java.util.SortedSet; /** * GWT emulation of {@code SortedMultiset}, with {@code elementSet} reduced * to returning a {@code SortedSet} for GWT compatibility. * * @author Louis Wasserman * @since 11.0 */ @Beta public interface SortedMultiset<E> extends Multiset<E>, SortedIterable<E> { Comparator<? super E> comparator(); Entry<E> firstEntry(); Entry<E> lastEntry(); Entry<E> pollFirstEntry(); Entry<E> pollLastEntry(); /** * Returns a {@link SortedSet} view of the distinct elements in this multiset. * (Outside GWT, this returns a {@code NavigableSet}.) */ @Override SortedSet<E> elementSet(); SortedMultiset<E> descendingMultiset(); SortedMultiset<E> headMultiset(E upperBound, BoundType boundType); SortedMultiset<E> subMultiset(E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType); SortedMultiset<E> tailMultiset(E lowerBound, BoundType boundType); }