Skip to content

Commit f217d5e

Browse files
hjohnnlisker
authored andcommitted
8298200: Clean up raw type warnings in javafx.beans.property.* and com.sun.javafx.property.*
Reviewed-by: kcr, nlisker
1 parent 8763e8b commit f217d5e

38 files changed

+153
-162
lines changed

modules/javafx.base/src/main/java/com/sun/javafx/property/JavaBeanAccessHelper.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public static <T> ReadOnlyObjectProperty<T> createReadOnlyJavaBeanProperty(Objec
5858
private static void init() {
5959
if (!initialized) {
6060
try {
61-
Class accessor = Class.forName(
61+
Class<?> accessor = Class.forName(
6262
"com.sun.javafx.property.adapter.JavaBeanQuickAccessor",
6363
true, JavaBeanAccessHelper.class.getClassLoader());
6464
JAVA_BEAN_QUICK_ACCESSOR_CREATE_RO =

modules/javafx.base/src/main/java/com/sun/javafx/property/adapter/Disposer.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@
4343
* of the associated Runnable object will be called.
4444
*/
4545
public class Disposer implements Runnable {
46-
private static final ReferenceQueue queue = new ReferenceQueue();
47-
private static final Map<Object, Runnable> records = new ConcurrentHashMap<>();
46+
private static final ReferenceQueue<Object> queue = new ReferenceQueue<>();
47+
private static final Map<Reference<?>, Runnable> records = new ConcurrentHashMap<>();
4848
private static Disposer disposerInstance;
4949

5050
static {
5151
disposerInstance = new Disposer();
5252

5353
@SuppressWarnings("removal")
5454
var dummy = java.security.AccessController.doPrivileged(
55-
new java.security.PrivilegedAction() {
55+
new java.security.PrivilegedAction<>() {
5656
@Override
5757
public Object run() {
5858
/* The thread must be a member of a thread group
@@ -81,17 +81,17 @@ public Object run() {
8181
* @param rec the associated Runnable object
8282
*/
8383
public static void addRecord(Object target, Runnable rec) {
84-
PhantomReference ref = new PhantomReference<>(target, queue);
84+
PhantomReference<Object> ref = new PhantomReference<>(target, queue);
8585
records.put(ref, rec);
8686
}
8787

8888
@Override
8989
public void run() {
9090
while (true) {
9191
try {
92-
Object obj = queue.remove();
93-
((Reference)obj).clear();
94-
Runnable rec = records.remove(obj);
92+
Reference<?> reference = queue.remove();
93+
reference.clear();
94+
Runnable rec = records.remove(reference);
9595
rec.run();
9696
} catch (Exception e) {
9797
System.out.println("Exception while removing reference: " + e);

modules/javafx.base/src/main/java/com/sun/javafx/property/adapter/JavaBeanPropertyBuilderHelper.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
/**
3232
*/
33-
public class JavaBeanPropertyBuilderHelper {
33+
public class JavaBeanPropertyBuilderHelper<T> {
3434

3535
private static final String IS_PREFIX = "is";
3636
private static final String GET_PREFIX = "get";
@@ -43,7 +43,7 @@ public class JavaBeanPropertyBuilderHelper {
4343
private String setterName;
4444
private Method getter;
4545
private Method setter;
46-
private PropertyDescriptor descriptor;
46+
private PropertyDescriptor<T> descriptor;
4747

4848
public void name(String propertyName) {
4949
if ((propertyName == null)? this.propertyName != null : !propertyName.equals(this.propertyName)) {
@@ -104,7 +104,7 @@ public void setter(Method setter) {
104104
}
105105
}
106106

107-
public PropertyDescriptor getDescriptor() throws NoSuchMethodException {
107+
public PropertyDescriptor<T> getDescriptor() throws NoSuchMethodException {
108108
if (descriptor == null) {
109109
if (propertyName == null) {
110110
throw new NullPointerException("Property name has to be specified");
@@ -134,7 +134,7 @@ public PropertyDescriptor getDescriptor() throws NoSuchMethodException {
134134
setterMethod = beanClass.getMethod(SET_PREFIX + capitalizedName, type);
135135
}
136136
}
137-
descriptor = new PropertyDescriptor(propertyName, beanClass, getterMethod, setterMethod);
137+
descriptor = new PropertyDescriptor<>(propertyName, beanClass, getterMethod, setterMethod);
138138
}
139139
return descriptor;
140140
}

modules/javafx.base/src/main/java/com/sun/javafx/property/adapter/PropertyDescriptor.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
/**
4141
*/
42-
public class PropertyDescriptor extends ReadOnlyPropertyDescriptor {
42+
public class PropertyDescriptor<T> extends ReadOnlyPropertyDescriptor<T> {
4343

4444
private static final String ADD_VETOABLE_LISTENER_METHOD_NAME = "addVetoableChangeListener";
4545
private static final String REMOVE_VETOABLE_LISTENER_METHOD_NAME = "removeVetoableChangeListener";
@@ -142,7 +142,7 @@ public void removeListener(ReadOnlyListener listener) {
142142
}
143143
}
144144

145-
public class Listener<T> extends ReadOnlyListener<T> implements ChangeListener<T>, VetoableChangeListener {
145+
public class Listener extends ReadOnlyListener implements ChangeListener<T>, VetoableChangeListener {
146146

147147
private boolean updating;
148148

@@ -173,8 +173,7 @@ public void changed(ObservableValue<? extends T> observable, T oldValue, T newVa
173173
@Override
174174
public void vetoableChange(PropertyChangeEvent propertyChangeEvent) throws PropertyVetoException {
175175
if (bean.equals(propertyChangeEvent.getSource()) && name.equals(propertyChangeEvent.getPropertyName())) {
176-
final ReadOnlyJavaBeanProperty<T> property = checkRef();
177-
if ((property instanceof Property) && (((Property)property).isBound()) && !updating) {
176+
if ((checkRef() instanceof Property<?> property) && property.isBound() && !updating) {
178177
throw new PropertyVetoException("A bound value cannot be set.", propertyChangeEvent);
179178
}
180179
}

modules/javafx.base/src/main/java/com/sun/javafx/property/adapter/ReadOnlyJavaBeanPropertyBuilderHelper.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
/**
3232
*/
33-
public class ReadOnlyJavaBeanPropertyBuilderHelper {
33+
public class ReadOnlyJavaBeanPropertyBuilderHelper<T> {
3434

3535
private static final String IS_PREFIX = "is";
3636
private static final String GET_PREFIX = "get";
@@ -40,7 +40,7 @@ public class ReadOnlyJavaBeanPropertyBuilderHelper {
4040
private Object bean;
4141
private String getterName;
4242
private Method getter;
43-
private ReadOnlyPropertyDescriptor descriptor;
43+
private ReadOnlyPropertyDescriptor<T> descriptor;
4444

4545
public void name(String propertyName) {
4646
if ((propertyName == null)? this.propertyName != null : !propertyName.equals(this.propertyName)) {
@@ -87,7 +87,7 @@ public void getter(Method getter) {
8787
}
8888
}
8989

90-
public ReadOnlyPropertyDescriptor getDescriptor() throws NoSuchMethodException {
90+
public ReadOnlyPropertyDescriptor<T> getDescriptor() throws NoSuchMethodException {
9191
if (descriptor == null) {
9292
if ((propertyName == null) || (bean == null)) {
9393
throw new NullPointerException("Bean and property name have to be specified");
@@ -107,7 +107,7 @@ public ReadOnlyPropertyDescriptor getDescriptor() throws NoSuchMethodException {
107107
}
108108
}
109109
}
110-
descriptor = new ReadOnlyPropertyDescriptor(propertyName, beanClass, getter);
110+
descriptor = new ReadOnlyPropertyDescriptor<>(propertyName, beanClass, getter);
111111
}
112112
return descriptor;
113113
}

modules/javafx.base/src/main/java/com/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040

4141
/**
4242
*/
43-
public class ReadOnlyPropertyDescriptor {
43+
public class ReadOnlyPropertyDescriptor<T> {
4444

4545
private static final String ADD_LISTENER_METHOD_NAME = "addPropertyChangeListener";
4646
private static final String REMOVE_LISTENER_METHOD_NAME = "removePropertyChangeListener";
@@ -149,7 +149,7 @@ public void removeListener(ReadOnlyListener listener) {
149149
}
150150
}
151151

152-
public class ReadOnlyListener<T> implements PropertyChangeListener, WeakListener {
152+
public class ReadOnlyListener implements PropertyChangeListener, WeakListener {
153153

154154
protected final Object bean;
155155
private final WeakReference<ReadOnlyJavaBeanProperty<T>> propertyRef;

modules/javafx.base/src/main/java/javafx/beans/property/ReadOnlyListProperty.java

+8-10
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727

2828
import java.util.List;
2929
import java.util.ListIterator;
30+
import java.util.Objects;
31+
3032
import javafx.beans.binding.Bindings;
3133
import javafx.beans.binding.ListExpression;
3234
import javafx.collections.ObservableList;
@@ -111,23 +113,19 @@ public boolean equals(Object obj) {
111113
if (this == obj) {
112114
return true;
113115
}
114-
if (!(obj instanceof List)) {
115-
return false;
116-
}
117-
final List list = (List)obj;
118-
119-
if (size() != list.size()) {
116+
if (!(obj instanceof List<?> otherList) || size() != otherList.size()) {
120117
return false;
121118
}
122119

123120
ListIterator<E> e1 = listIterator();
124-
ListIterator e2 = list.listIterator();
121+
ListIterator<?> e2 = otherList.listIterator();
122+
125123
while (e1.hasNext() && e2.hasNext()) {
126-
E o1 = e1.next();
127-
Object o2 = e2.next();
128-
if (!(o1==null ? o2==null : o1.equals(o2)))
124+
if (!Objects.equals(e1.next(), e2.next())) {
129125
return false;
126+
}
130127
}
128+
131129
return true;
132130
}
133131

modules/javafx.base/src/main/java/javafx/beans/property/ReadOnlyMapProperty.java

+12-16
Original file line numberDiff line numberDiff line change
@@ -107,34 +107,30 @@ public void unbindContent(Object object) {
107107

108108
@Override
109109
public boolean equals(Object obj) {
110-
if (obj == this)
110+
if (obj == this) {
111111
return true;
112-
113-
if (!(obj instanceof Map))
114-
return false;
115-
Map<K,V> m = (Map<K,V>) obj;
116-
if (m.size() != size())
112+
}
113+
if (!(obj instanceof Map<?, ?> otherMap) || otherMap.size() != size()) {
117114
return false;
115+
}
118116

119117
try {
120-
for (Entry<K,V> e : entrySet()) {
118+
for (Entry<K, V> e : entrySet()) {
121119
K key = e.getKey();
122120
V value = e.getValue();
123121
if (value == null) {
124-
if (!(m.get(key)==null && m.containsKey(key)))
125-
return false;
126-
} else {
127-
if (!value.equals(m.get(key)))
122+
if (otherMap.get(key) != null || !otherMap.containsKey(key)) {
128123
return false;
124+
}
125+
} else if (!value.equals(otherMap.get(key))) {
126+
return false;
129127
}
130128
}
131-
} catch (ClassCastException unused) {
132-
return false;
133-
} catch (NullPointerException unused) {
129+
130+
return true;
131+
} catch (ClassCastException | NullPointerException unused) {
134132
return false;
135133
}
136-
137-
return true;
138134
}
139135

140136
/**

modules/javafx.base/src/main/java/javafx/beans/property/ReadOnlySetProperty.java

+7-10
Original file line numberDiff line numberDiff line change
@@ -106,19 +106,16 @@ public void unbindContent(Object object) {
106106

107107
@Override
108108
public boolean equals(Object obj) {
109-
if (obj == this)
109+
if (obj == this) {
110110
return true;
111-
112-
if (!(obj instanceof Set))
113-
return false;
114-
Set c = (Set) obj;
115-
if (c.size() != size())
111+
}
112+
if (!(obj instanceof Set<?> otherSet) || otherSet.size() != size()) {
116113
return false;
114+
}
115+
117116
try {
118-
return containsAll(c);
119-
} catch (ClassCastException unused) {
120-
return false;
121-
} catch (NullPointerException unused) {
117+
return containsAll(otherSet);
118+
} catch (ClassCastException | NullPointerException unused) {
122119
return false;
123120
}
124121
}

modules/javafx.base/src/main/java/javafx/beans/property/adapter/DescriptorListenerCleaner.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,19 @@
2828

2929
import com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor;
3030

31-
class DescriptorListenerCleaner implements Runnable{
31+
class DescriptorListenerCleaner<T> implements Runnable {
3232

33-
private final ReadOnlyPropertyDescriptor pd;
34-
private final WeakReference<ReadOnlyPropertyDescriptor.ReadOnlyListener<?>> lRef;
33+
private final ReadOnlyPropertyDescriptor<T> pd;
34+
private final WeakReference<ReadOnlyPropertyDescriptor<T>.ReadOnlyListener> lRef;
3535

36-
DescriptorListenerCleaner(ReadOnlyPropertyDescriptor pd, ReadOnlyPropertyDescriptor.ReadOnlyListener<?> l) {
36+
DescriptorListenerCleaner(ReadOnlyPropertyDescriptor<T> pd, ReadOnlyPropertyDescriptor<T>.ReadOnlyListener l) {
3737
this.pd = pd;
3838
this.lRef = new WeakReference<>(l);
3939
}
4040

4141
@Override
4242
public void run() {
43-
ReadOnlyPropertyDescriptor.ReadOnlyListener<?> l = lRef.get();
43+
ReadOnlyPropertyDescriptor<T>.ReadOnlyListener l = lRef.get();
4444
if (l != null) {
4545
pd.removeListener(l);
4646
}

modules/javafx.base/src/main/java/javafx/beans/property/adapter/JavaBeanBooleanProperty.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,20 @@
9090
*/
9191
public final class JavaBeanBooleanProperty extends BooleanProperty implements JavaBeanProperty<Boolean> {
9292

93-
private final PropertyDescriptor descriptor;
94-
private final PropertyDescriptor.Listener<Boolean> listener;
93+
private final PropertyDescriptor<Boolean> descriptor;
94+
private final PropertyDescriptor<Boolean>.Listener listener;
9595

9696
private ObservableValue<? extends Boolean> observable = null;
9797
private ExpressionHelper<Boolean> helper = null;
9898

9999
@SuppressWarnings("removal")
100100
private final AccessControlContext acc = AccessController.getContext();
101101

102-
JavaBeanBooleanProperty(PropertyDescriptor descriptor, Object bean) {
102+
JavaBeanBooleanProperty(PropertyDescriptor<Boolean> descriptor, Object bean) {
103103
this.descriptor = descriptor;
104-
this.listener = descriptor.new Listener<>(bean, this);
104+
this.listener = descriptor.new Listener(bean, this);
105105
descriptor.addListener(listener);
106-
Disposer.addRecord(this, new DescriptorListenerCleaner(descriptor, listener));
106+
Disposer.addRecord(this, new DescriptorListenerCleaner<>(descriptor, listener));
107107
}
108108

109109
/**

modules/javafx.base/src/main/java/javafx/beans/property/adapter/JavaBeanBooleanPropertyBuilder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
*/
6060
public final class JavaBeanBooleanPropertyBuilder {
6161

62-
private final JavaBeanPropertyBuilderHelper helper = new JavaBeanPropertyBuilderHelper();
62+
private final JavaBeanPropertyBuilderHelper<Boolean> helper = new JavaBeanPropertyBuilderHelper<>();
6363

6464
private JavaBeanBooleanPropertyBuilder() {}
6565

@@ -82,7 +82,7 @@ public static JavaBeanBooleanPropertyBuilder create() {
8282
* {@code boolean} or {@code Boolean}
8383
*/
8484
public JavaBeanBooleanProperty build() throws NoSuchMethodException {
85-
final PropertyDescriptor descriptor = helper.getDescriptor();
85+
final PropertyDescriptor<Boolean> descriptor = helper.getDescriptor();
8686
if (!boolean.class.equals(descriptor.getType()) && !Boolean.class.equals(descriptor.getType())) {
8787
throw new IllegalArgumentException("Not a boolean property");
8888
}

modules/javafx.base/src/main/java/javafx/beans/property/adapter/JavaBeanDoubleProperty.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,20 @@
9090
*/
9191
public final class JavaBeanDoubleProperty extends DoubleProperty implements JavaBeanProperty<Number> {
9292

93-
private final PropertyDescriptor descriptor;
94-
private final PropertyDescriptor.Listener<Number> listener;
93+
private final PropertyDescriptor<Number> descriptor;
94+
private final PropertyDescriptor<Number>.Listener listener;
9595

9696
private ObservableValue<? extends Number> observable = null;
9797
private ExpressionHelper<Number> helper = null;
9898

9999
@SuppressWarnings("removal")
100100
private final AccessControlContext acc = AccessController.getContext();
101101

102-
JavaBeanDoubleProperty(PropertyDescriptor descriptor, Object bean) {
102+
JavaBeanDoubleProperty(PropertyDescriptor<Number> descriptor, Object bean) {
103103
this.descriptor = descriptor;
104-
this.listener = descriptor.new Listener<>(bean, this);
104+
this.listener = descriptor.new Listener(bean, this);
105105
descriptor.addListener(listener);
106-
Disposer.addRecord(this, new DescriptorListenerCleaner(descriptor, listener));
106+
Disposer.addRecord(this, new DescriptorListenerCleaner<>(descriptor, listener));
107107
}
108108

109109
/**

modules/javafx.base/src/main/java/javafx/beans/property/adapter/JavaBeanDoublePropertyBuilder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
*/
6060
public final class JavaBeanDoublePropertyBuilder {
6161

62-
private final JavaBeanPropertyBuilderHelper helper = new JavaBeanPropertyBuilderHelper();
62+
private final JavaBeanPropertyBuilderHelper<Number> helper = new JavaBeanPropertyBuilderHelper<>();
6363

6464
private JavaBeanDoublePropertyBuilder() {}
6565

@@ -82,7 +82,7 @@ public static JavaBeanDoublePropertyBuilder create() {
8282
* {@code double} or {@code Double}
8383
*/
8484
public JavaBeanDoubleProperty build() throws NoSuchMethodException {
85-
final PropertyDescriptor descriptor = helper.getDescriptor();
85+
final PropertyDescriptor<Number> descriptor = helper.getDescriptor();
8686
if (!double.class.equals(descriptor.getType()) && !Number.class.isAssignableFrom(descriptor.getType())) {
8787
throw new IllegalArgumentException("Not a double property");
8888
}

0 commit comments

Comments
 (0)