8165263: Remove code in MetaData that hacks into private fields of Collections implementation classes
Reviewed-by: mchung, alexsch
This commit is contained in:
parent
61a21b5a3e
commit
ec9d2a571f
@ -510,102 +510,6 @@ private abstract static class java_util_Collections extends PersistenceDelegate
|
||||
return new Expression(oldInstance, Collections.class, "synchronizedSortedMap", new Object[]{map});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedCollection_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
|
||||
List<?> list = new ArrayList<>((Collection<?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedCollection", new Object[]{list, type});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedList_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
|
||||
List<?> list = new LinkedList<>((Collection<?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedList", new Object[]{list, type});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedRandomAccessList_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
|
||||
List<?> list = new ArrayList<>((Collection<?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedList", new Object[]{list, type});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedSet_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
|
||||
Set<?> set = new HashSet<>((Set<?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedSet", new Object[]{set, type});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedSortedSet_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
|
||||
SortedSet<?> set = new TreeSet<>((SortedSet<?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedSortedSet", new Object[]{set, type});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedMap_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object keyType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.keyType");
|
||||
Object valueType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.valueType");
|
||||
Map<?,?> map = new HashMap<>((Map<?,?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedMap", new Object[]{map, keyType, valueType});
|
||||
}
|
||||
}
|
||||
|
||||
static final class CheckedSortedMap_PersistenceDelegate extends java_util_Collections {
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
Object keyType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.keyType");
|
||||
Object valueType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.valueType");
|
||||
SortedMap<?,?> map = new TreeMap<>((SortedMap<?,?>) oldInstance);
|
||||
return new Expression(oldInstance, Collections.class, "checkedSortedMap", new Object[]{map, keyType, valueType});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The persistence delegate for {@code java.util.EnumMap} classes.
|
||||
*
|
||||
* @author Sergey A. Malenkov
|
||||
*/
|
||||
static final class java_util_EnumMap_PersistenceDelegate extends PersistenceDelegate {
|
||||
protected boolean mutatesTo(Object oldInstance, Object newInstance) {
|
||||
return super.mutatesTo(oldInstance, newInstance) && (getType(oldInstance) == getType(newInstance));
|
||||
}
|
||||
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
return new Expression(oldInstance, EnumMap.class, "new", new Object[] {getType(oldInstance)});
|
||||
}
|
||||
|
||||
private static Object getType(Object instance) {
|
||||
return MetaData.getPrivateFieldValue(instance, "java.util.EnumMap.keyType");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The persistence delegate for {@code java.util.EnumSet} classes.
|
||||
*
|
||||
* @author Sergey A. Malenkov
|
||||
*/
|
||||
static final class java_util_EnumSet_PersistenceDelegate extends PersistenceDelegate {
|
||||
protected boolean mutatesTo(Object oldInstance, Object newInstance) {
|
||||
return super.mutatesTo(oldInstance, newInstance) && (getType(oldInstance) == getType(newInstance));
|
||||
}
|
||||
|
||||
protected Expression instantiate(Object oldInstance, Encoder out) {
|
||||
return new Expression(oldInstance, EnumSet.class, "noneOf", new Object[] {getType(oldInstance)});
|
||||
}
|
||||
|
||||
private static Object getType(Object instance) {
|
||||
return MetaData.getPrivateFieldValue(instance, "java.util.EnumSet.elementType");
|
||||
}
|
||||
}
|
||||
|
||||
// Collection
|
||||
@ -1313,9 +1217,6 @@ static final class sun_swing_PrintColorUIResource_PersistenceDelegate extends Pe
|
||||
|
||||
internalPersistenceDelegates.put("java.sql.Date", new java_util_Date_PersistenceDelegate());
|
||||
internalPersistenceDelegates.put("java.sql.Time", new java_util_Date_PersistenceDelegate());
|
||||
|
||||
internalPersistenceDelegates.put("java.util.JumboEnumSet", new java_util_EnumSet_PersistenceDelegate());
|
||||
internalPersistenceDelegates.put("java.util.RegularEnumSet", new java_util_EnumSet_PersistenceDelegate());
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
|
@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
enum EnumPrivate {
|
||||
A0,B0,C0,D0,E0,F0,G0,H0,I0,J0,K0,L0,M0,N0,O0,P0,Q0,R0,S0,T0,U0,V0,W0,X0,Y0,Z0,
|
||||
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,
|
||||
A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2,S2,T2,U2,V2,W2,X2,Y2,Z2,
|
||||
A3,B3,C3,D3,E3,F3,G3,H3,I3,J3,K3,L3,M3,N3,O3,P3,Q3,R3,S3,T3,U3,V3,W3,X3,Y3,Z3,
|
||||
A4,B4,C4,D4,E4,F4,G4,H4,I4,J4,K4,L4,M4,N4,O4,P4,Q4,R4,S4,T4,U4,V4,W4,X4,Y4,Z4,
|
||||
A5,B5,C5,D5,E5,F5,G5,H5,I5,J5,K5,L5,M5,N5,O5,P5,Q5,R5,S5,T5,U5,V5,W5,X5,Y5,Z5,
|
||||
A6,B6,C6,D6,E6,F6,G6,H6,I6,J6,K6,L6,M6,N6,O6,P6,Q6,R6,S6,T6,U6,V6,W6,X6,Y6,Z6,
|
||||
A7,B7,C7,D7,E7,F7,G7,H7,I7,J7,K7,L7,M7,N7,O7,P7,Q7,R7,S7,T7,U7,V7,W7,X7,Y7,Z7,
|
||||
A8,B8,C8,D8,E8,F8,G8,H8,I8,J8,K8,L8,M8,N8,O8,P8,Q8,R8,S8,T8,U8,V8,W8,X8,Y8,Z8,
|
||||
A9,B9,C9,D9,E9,F9,G9,H9,I9,J9,K9,L9,M9,N9,O9,P9,Q9,R9,S9,T9,U9,V9,W9,X9,Y9,Z9,
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
public enum EnumPublic {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedCollection encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public final class java_util_Collections_CheckedCollection extends AbstractTest<Collection<String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedCollection().test(true);
|
||||
}
|
||||
|
||||
protected Collection<String> getObject() {
|
||||
List<String> list = Collections.singletonList("string");
|
||||
return Collections.checkedCollection(list, String.class);
|
||||
}
|
||||
|
||||
protected Collection<String> getAnotherObject() {
|
||||
List<String> list = Collections.emptyList();
|
||||
return Collections.checkedCollection(list, String.class);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedList encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public final class java_util_Collections_CheckedList extends AbstractTest<List<String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedList().test(true);
|
||||
}
|
||||
|
||||
protected List<String> getObject() {
|
||||
List<String> list = Collections.singletonList("string");
|
||||
return Collections.checkedList(list, String.class);
|
||||
}
|
||||
|
||||
protected List<String> getAnotherObject() {
|
||||
List<String> list = Collections.emptyList();
|
||||
return Collections.checkedList(list, String.class);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedMap encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
public final class java_util_Collections_CheckedMap extends AbstractTest<Map<String, String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedMap().test(true);
|
||||
}
|
||||
|
||||
protected Map<String, String> getObject() {
|
||||
Map<String, String> map = Collections.singletonMap("key", "value");
|
||||
return Collections.checkedMap(map, String.class, String.class);
|
||||
}
|
||||
|
||||
protected Map<String, String> getAnotherObject() {
|
||||
Map<String, String> map = Collections.emptyMap();
|
||||
return Collections.checkedMap(map, String.class, String.class);
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedRandomAccessList encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public final class java_util_Collections_CheckedRandomAccessList extends AbstractTest<List<String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedRandomAccessList().test(true);
|
||||
}
|
||||
|
||||
protected List<String> getObject() {
|
||||
List<String> list = new ArrayList<String>();
|
||||
list.add("string");
|
||||
return Collections.checkedList(list, String.class);
|
||||
}
|
||||
|
||||
protected List<String> getAnotherObject() {
|
||||
List<String> list = new ArrayList<String>();
|
||||
return Collections.checkedList(list, String.class);
|
||||
}
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedSet encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
public final class java_util_Collections_CheckedSet extends AbstractTest<Set<String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedSet().test(true);
|
||||
}
|
||||
|
||||
protected Set<String> getObject() {
|
||||
Set<String> set = Collections.singleton("string");
|
||||
return Collections.checkedSet(set, String.class);
|
||||
}
|
||||
|
||||
protected Set<String> getAnotherObject() {
|
||||
Set<String> set = Collections.emptySet();
|
||||
return Collections.checkedSet(set, String.class);
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedSortedMap encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.SortedMap;
|
||||
import java.util.TreeMap;
|
||||
|
||||
public final class java_util_Collections_CheckedSortedMap extends AbstractTest<SortedMap<String, String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedSortedMap().test(true);
|
||||
}
|
||||
|
||||
protected SortedMap<String, String> getObject() {
|
||||
SortedMap<String, String> map = new TreeMap<String, String>();
|
||||
map.put("key", "value");
|
||||
return Collections.checkedSortedMap(map, String.class, String.class);
|
||||
}
|
||||
|
||||
protected SortedMap<String, String> getAnotherObject() {
|
||||
SortedMap<String, String> map = new TreeMap<String, String>();
|
||||
return Collections.checkedSortedMap(map, String.class, String.class);
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6505888
|
||||
* @summary Tests CheckedSortedSet encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
public final class java_util_Collections_CheckedSortedSet extends AbstractTest<SortedSet<String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_Collections_CheckedSortedSet().test(true);
|
||||
}
|
||||
|
||||
protected SortedSet<String> getObject() {
|
||||
SortedSet<String> set = new TreeSet<String>();
|
||||
set.add("string");
|
||||
return Collections.checkedSortedSet(set, String.class);
|
||||
}
|
||||
|
||||
protected SortedSet<String> getAnotherObject() {
|
||||
SortedSet<String> set = new TreeSet<String>();
|
||||
return Collections.checkedSortedSet(set, String.class);
|
||||
}
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6536295
|
||||
* @summary Tests EnumMap encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.EnumMap;
|
||||
import java.util.Map;
|
||||
|
||||
public final class java_util_EnumMap extends AbstractTest<Map<EnumPublic, String>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_EnumMap().test(true);
|
||||
}
|
||||
|
||||
protected Map<EnumPublic, String> getObject() {
|
||||
return new EnumMap<EnumPublic, String>(EnumPublic.class);
|
||||
}
|
||||
|
||||
protected Map<EnumPublic, String> getAnotherObject() {
|
||||
Map<EnumPublic, String> map = new EnumMap<EnumPublic, String>(EnumPublic.class);
|
||||
map.put(EnumPublic.A, "value");
|
||||
map.put(EnumPublic.Z, null);
|
||||
return map;
|
||||
}
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6536295
|
||||
* @summary Tests JumboEnumSet encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
public final class java_util_JumboEnumSet extends AbstractTest<Set<EnumPrivate>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_JumboEnumSet().test(true);
|
||||
}
|
||||
|
||||
protected Set<EnumPrivate> getObject() {
|
||||
return EnumSet.noneOf(EnumPrivate.class);
|
||||
}
|
||||
|
||||
protected Set<EnumPrivate> getAnotherObject() {
|
||||
Set<EnumPrivate> set = EnumSet.noneOf(EnumPrivate.class);
|
||||
set.add(EnumPrivate.A0);
|
||||
set.add(EnumPrivate.Z9);
|
||||
return set;
|
||||
}
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 6536295
|
||||
* @summary Tests RegularEnumSet encoding
|
||||
* @author Sergey Malenkov
|
||||
*/
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
public final class java_util_RegularEnumSet extends AbstractTest<Set<EnumPublic>> {
|
||||
public static void main(String[] args) {
|
||||
new java_util_RegularEnumSet().test(true);
|
||||
}
|
||||
|
||||
protected Set<EnumPublic> getObject() {
|
||||
return EnumSet.noneOf(EnumPublic.class);
|
||||
}
|
||||
|
||||
protected Set<EnumPublic> getAnotherObject() {
|
||||
Set<EnumPublic> set = EnumSet.noneOf(EnumPublic.class);
|
||||
set.add(EnumPublic.A);
|
||||
set.add(EnumPublic.Z);
|
||||
return set;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user