@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return delegate().subMultiset(lowerBound, lowerBoundType, upperBound, upperBoundType); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return delegate().subMultiset(lowerBound, lowerBoundType, upperBound, upperBoundType); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return Multisets.unmodifiableSortedMultiset( delegate().subMultiset(lowerBound, lowerBoundType, upperBound, upperBoundType)); }
@Override public SortedSet<E> subSet(E fromElement, E toElement) { return multiset().subMultiset(fromElement, CLOSED, toElement, OPEN).elementSet(); }
@Override public SortedMultiset<E> subMultiset( E fromElement, BoundType fromBoundType, E toElement, BoundType toBoundType) { return forwardMultiset() .subMultiset(toElement, toBoundType, fromElement, fromBoundType) .descendingMultiset(); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return delegate().subMultiset(lowerBound, lowerBoundType, upperBound, upperBoundType); }
@Override public SortedMultiset<E> subMultiset( E fromElement, BoundType fromBoundType, E toElement, BoundType toBoundType) { return forwardMultiset() .subMultiset(toElement, toBoundType, fromElement, fromBoundType) .descendingMultiset(); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return Multisets.unmodifiableSortedMultiset( delegate().subMultiset(lowerBound, lowerBoundType, upperBound, upperBoundType)); }
@Override public SortedSet<E> subSet(E fromElement, E toElement) { return multiset().subMultiset(fromElement, CLOSED, toElement, OPEN).elementSet(); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return Multisets.unmodifiableSortedMultiset( delegate().subMultiset(lowerBound, lowerBoundType, upperBound, upperBoundType)); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_ADD) public void testConflictingBounds() { testEmptyRangeSubMultiset( sortedMultiset.subMultiset(a.getElement(), CLOSED, a.getElement(), OPEN)); testEmptyRangeSubMultiset( sortedMultiset.subMultiset(a.getElement(), OPEN, a.getElement(), OPEN)); testEmptyRangeSubMultiset( sortedMultiset.subMultiset(a.getElement(), OPEN, a.getElement(), CLOSED)); testEmptyRangeSubMultiset( sortedMultiset.subMultiset(b.getElement(), CLOSED, a.getElement(), CLOSED)); testEmptyRangeSubMultiset( sortedMultiset.subMultiset(b.getElement(), CLOSED, a.getElement(), OPEN)); testEmptyRangeSubMultiset( sortedMultiset.subMultiset(b.getElement(), OPEN, a.getElement(), OPEN)); }
@Override public NavigableSet<E> subSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) { return new NavigableElementSet<E>( multiset() .subMultiset( fromElement, BoundType.forBoolean(fromInclusive), toElement, BoundType.forBoolean(toInclusive))); }
@Override public SortedMultiset<E> subMultiset( E fromElement, BoundType fromBoundType, E toElement, BoundType toBoundType) { return forwardMultiset() .subMultiset(toElement, toBoundType, fromElement, fromBoundType) .descendingMultiset(); }
@Override public SortedSet<E> subSet(E fromElement, E toElement) { return multiset().subMultiset(fromElement, CLOSED, toElement, OPEN).elementSet(); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_ADD) public void testAddWithConflictingBounds() { testEmptyRangeSubMultisetSupportingAdd( sortedMultiset.subMultiset(a.getElement(), CLOSED, a.getElement(), OPEN)); testEmptyRangeSubMultisetSupportingAdd( sortedMultiset.subMultiset(a.getElement(), OPEN, a.getElement(), OPEN)); testEmptyRangeSubMultisetSupportingAdd( sortedMultiset.subMultiset(a.getElement(), OPEN, a.getElement(), CLOSED)); testEmptyRangeSubMultisetSupportingAdd( sortedMultiset.subMultiset(b.getElement(), CLOSED, a.getElement(), CLOSED)); testEmptyRangeSubMultisetSupportingAdd( sortedMultiset.subMultiset(b.getElement(), CLOSED, a.getElement(), OPEN)); testEmptyRangeSubMultisetSupportingAdd( sortedMultiset.subMultiset(b.getElement(), OPEN, a.getElement(), OPEN)); }
@Override public NavigableSet<E> subSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) { return new NavigableElementSet<E>( multiset() .subMultiset( fromElement, BoundType.forBoolean(fromInclusive), toElement, BoundType.forBoolean(toInclusive))); }
@Override public NavigableSet<E> subSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) { return new NavigableElementSet<E>( multiset() .subMultiset( fromElement, BoundType.forBoolean(fromInclusive), toElement, BoundType.forBoolean(toInclusive))); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return unmodifiableSortedMultiset(delegate().subMultiset( lowerBound, lowerBoundType, upperBound, upperBoundType)); }
@Override public SortedMultiset<E> subMultiset( E lowerBound, BoundType lowerBoundType, E upperBound, BoundType upperBoundType) { return Multisets.unmodifiableSortedMultiset(delegate().subMultiset( lowerBound, lowerBoundType, upperBound, upperBoundType)); }
@Override public NavigableSet<E> subSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) { return new NavigableElementSet<E>(multiset().subMultiset( fromElement, BoundType.forBoolean(fromInclusive), toElement, BoundType.forBoolean(toInclusive))); }