Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (C) 2008 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  javax.annotation.Nullable;

keySet() implementation for ImmutableMap.

Author(s):
Jesse Wilson
Kevin Bourrillion
@GwtCompatible(emulated = true)
abstract class ImmutableMapKeySet<K, V> extends TransformedImmutableSet<Entry<K, V>, K> {
  ImmutableMapKeySet(ImmutableSet<Entry<K, V>> entrySet) {
    super(entrySet);
  }
  ImmutableMapKeySet(ImmutableSet<Entry<K, V>> entrySetint hashCode) {
    super(entrySethashCode);
  }
  abstract ImmutableMap<K, V> map();
  K transform(Entry<K, V> entry) {
    return entry.getKey();
  }
  public boolean contains(@Nullable Object object) {
    return map().containsKey(object);
  }
  boolean isPartialView() {
    return true;
  }
    final ImmutableList<Entry<K, V>> entryList = map().entrySet().asList();
    return new ImmutableAsList<K>() {
      @Override
      public K get(int index) {
        return entryList.get(index).getKey();
      }
      @Override
        return ImmutableMapKeySet.this;
      }
    };
  }
  @GwtIncompatible("serialization")
    return new KeySetSerializedForm<K>(map());
  }
  @GwtIncompatible("serialization")
  private static class KeySetSerializedForm<K> implements Serializable {
    final ImmutableMap<K, ?> map;
    KeySetSerializedForm(ImmutableMap<K, ?> map) {
      this. = map;
    }
    Object readResolve() {
      return .keySet();
    }
    private static final long serialVersionUID = 0;
  }
New to GrepCode? Check out our FAQ X