8284036: Make ConcurrentHashMap.CollectionView a sealed hierarchy

Reviewed-by: smarks
This commit is contained in:
Jaikiran Pai 2022-04-11 01:24:18 +00:00
parent 92f5e42696
commit eb3ead96b3

View file

@ -4416,8 +4416,8 @@ public class ConcurrentHashMap<K,V> extends AbstractMap<K,V>
/**
* Base class for views.
*/
abstract static class CollectionView<K,V,E>
implements Collection<E>, java.io.Serializable {
abstract static sealed class CollectionView<K,V,E>
implements Collection<E>, java.io.Serializable permits EntrySetView, KeySetView, ValuesView {
private static final long serialVersionUID = 7249069246763182397L;
final ConcurrentHashMap<K,V> map;
CollectionView(ConcurrentHashMap<K,V> map) { this.map = map; }
@ -4589,7 +4589,7 @@ public class ConcurrentHashMap<K,V> extends AbstractMap<K,V>
*
* @since 1.8
*/
public static class KeySetView<K,V> extends CollectionView<K,V,K>
public static final class KeySetView<K,V> extends CollectionView<K,V,K>
implements Set<K>, java.io.Serializable {
private static final long serialVersionUID = 7249069246763182397L;
@SuppressWarnings("serial") // Conditionally serializable