aboutsummaryrefslogtreecommitdiffstats
path: root/guava/src/com/google/common/collect/RegularImmutableSortedMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava/src/com/google/common/collect/RegularImmutableSortedMap.java')
-rw-r--r--guava/src/com/google/common/collect/RegularImmutableSortedMap.java130
1 files changed, 0 insertions, 130 deletions
diff --git a/guava/src/com/google/common/collect/RegularImmutableSortedMap.java b/guava/src/com/google/common/collect/RegularImmutableSortedMap.java
deleted file mode 100644
index dd93b7f..0000000
--- a/guava/src/com/google/common/collect/RegularImmutableSortedMap.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2012 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 static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.annotations.GwtCompatible;
-
-import javax.annotation.Nullable;
-
-/**
- * An implementation of an immutable sorted map with one or more entries.
- *
- * @author Louis Wasserman
- */
-@GwtCompatible(emulated = true)
-@SuppressWarnings("serial") // uses writeReplace, not default serialization
-final class RegularImmutableSortedMap<K, V> extends ImmutableSortedMap<K, V> {
- private final transient RegularImmutableSortedSet<K> keySet;
- private final transient ImmutableList<V> valueList;
-
- RegularImmutableSortedMap(RegularImmutableSortedSet<K> keySet, ImmutableList<V> valueList) {
- this.keySet = keySet;
- this.valueList = valueList;
- }
-
- RegularImmutableSortedMap(
- RegularImmutableSortedSet<K> keySet,
- ImmutableList<V> valueList,
- ImmutableSortedMap<K, V> descendingMap) {
- super(descendingMap);
- this.keySet = keySet;
- this.valueList = valueList;
- }
-
- @Override
- ImmutableSet<Entry<K, V>> createEntrySet() {
- return new EntrySet();
- }
-
- private class EntrySet extends ImmutableMapEntrySet<K, V> {
- @Override
- public UnmodifiableIterator<Entry<K, V>> iterator() {
- return asList().iterator();
- }
-
- @Override
- ImmutableList<Entry<K, V>> createAsList() {
- return new ImmutableAsList<Entry<K, V>>() {
- // avoid additional indirection
- private final ImmutableList<K> keyList = keySet().asList();
-
- @Override
- public Entry<K, V> get(int index) {
- return Maps.immutableEntry(keyList.get(index), valueList.get(index));
- }
-
- @Override
- ImmutableCollection<Entry<K, V>> delegateCollection() {
- return EntrySet.this;
- }
- };
- }
-
- @Override
- ImmutableMap<K, V> map() {
- return RegularImmutableSortedMap.this;
- }
- }
-
- @Override
- public ImmutableSortedSet<K> keySet() {
- return keySet;
- }
-
- @Override
- public ImmutableCollection<V> values() {
- return valueList;
- }
-
- @Override
- public V get(@Nullable Object key) {
- int index = keySet.indexOf(key);
- return (index == -1) ? null : valueList.get(index);
- }
-
- private ImmutableSortedMap<K, V> getSubMap(int fromIndex, int toIndex) {
- if (fromIndex == 0 && toIndex == size()) {
- return this;
- } else if (fromIndex == toIndex) {
- return emptyMap(comparator());
- } else {
- return from(
- keySet.getSubSet(fromIndex, toIndex),
- valueList.subList(fromIndex, toIndex));
- }
- }
-
- @Override
- public ImmutableSortedMap<K, V> headMap(K toKey, boolean inclusive) {
- return getSubMap(0, keySet.headIndex(checkNotNull(toKey), inclusive));
- }
-
- @Override
- public ImmutableSortedMap<K, V> tailMap(K fromKey, boolean inclusive) {
- return getSubMap(keySet.tailIndex(checkNotNull(fromKey), inclusive), size());
- }
-
- @Override
- ImmutableSortedMap<K, V> createDescendingMap() {
- return new RegularImmutableSortedMap<K, V>(
- (RegularImmutableSortedSet<K>) keySet.descendingSet(),
- valueList.reverse(),
- this);
- }
-
-}