@@ -103,7 +103,7 @@ public final class Image extends Resource implements Drawable {
103
103
/**
104
104
* AbstractImageProvider to avail right ImageProvider (ImageDataProvider or ImageFileNameProvider)
105
105
*/
106
- private AbstractImageProvider imageProvider ;
106
+ private AbstractImageProviderWrapper imageProvider ;
107
107
108
108
/**
109
109
* Style flag used to differentiate normal, gray-scale and disabled images based
@@ -2036,7 +2036,7 @@ public static Image win32_new(Device device, int type, long handle) {
2036
2036
return image ;
2037
2037
}
2038
2038
2039
- // This class is only used for a workaround and will be removed again
2039
+ //This class is only used for a workaround and will be removed again
2040
2040
private class StaticZoomUpdater implements AutoCloseable {
2041
2041
private final boolean updateStaticZoom ;
2042
2042
private final int currentNativeDeviceZoom ;
@@ -2057,11 +2057,11 @@ public void close() {
2057
2057
}
2058
2058
}
2059
2059
2060
- private abstract class AbstractImageProvider {
2060
+ private abstract class AbstractImageProviderWrapper {
2061
2061
abstract Object getProvider ();
2062
2062
abstract ImageData getImageData (int zoom );
2063
2063
abstract ImageHandle getImageMetadata (int zoom );
2064
- abstract AbstractImageProvider createCopy (Image image );
2064
+ abstract AbstractImageProviderWrapper createCopy (Image image );
2065
2065
2066
2066
@ Override
2067
2067
public int hashCode () {
@@ -2070,22 +2070,20 @@ public int hashCode() {
2070
2070
2071
2071
@ Override
2072
2072
public boolean equals (Object otherProvider ) {
2073
- if (otherProvider != null && otherProvider instanceof AbstractImageProvider ) {
2074
- return getProvider ().equals (((AbstractImageProvider ) otherProvider ).getProvider ());
2075
- }
2076
- return false ;
2073
+ return otherProvider instanceof AbstractImageProviderWrapper aip //
2074
+ && getProvider ().equals (aip .getProvider ());
2077
2075
}
2078
2076
}
2079
2077
2080
- private class ImageFileNameProviderWrapper extends AbstractImageProvider {
2078
+ private class ImageFileNameProviderWrapper extends AbstractImageProviderWrapper {
2081
2079
2082
2080
/**
2083
2081
* ImageFileNameProvider to provide file names at various Zoom levels
2084
2082
*/
2085
- final ImageFileNameProvider provider ;
2083
+ private final ImageFileNameProvider provider ;
2086
2084
2087
- public ImageFileNameProviderWrapper (ImageFileNameProvider provider ) {
2088
- this .provider = provider ;
2085
+ ImageFileNameProviderWrapper (ImageFileNameProvider provider ) {
2086
+ this .provider = Objects . requireNonNull ( provider ) ;
2089
2087
}
2090
2088
2091
2089
@ Override
@@ -2122,20 +2120,20 @@ public int hashCode() {
2122
2120
}
2123
2121
2124
2122
@ Override
2125
- AbstractImageProvider createCopy (Image image ) {
2123
+ ImageFileNameProviderWrapper createCopy (Image image ) {
2126
2124
return image .new ImageFileNameProviderWrapper (provider );
2127
2125
}
2128
2126
}
2129
2127
2130
- private class ImageDataProviderWrapper extends AbstractImageProvider {
2128
+ private class ImageDataProviderWrapper extends AbstractImageProviderWrapper {
2131
2129
2132
2130
/**
2133
2131
* ImageDataProvider to provide ImageData at various Zoom levels
2134
2132
*/
2135
- final ImageDataProvider provider ;
2133
+ private final ImageDataProvider provider ;
2136
2134
2137
- public ImageDataProviderWrapper (ImageDataProvider provider ) {
2138
- this .provider = provider ;
2135
+ ImageDataProviderWrapper (ImageDataProvider provider ) {
2136
+ this .provider = Objects . requireNonNull ( provider ) ;
2139
2137
}
2140
2138
2141
2139
@ Override
@@ -2160,7 +2158,7 @@ Object getProvider() {
2160
2158
}
2161
2159
2162
2160
@ Override
2163
- AbstractImageProvider createCopy (Image image ) {
2161
+ ImageDataProviderWrapper createCopy (Image image ) {
2164
2162
return image .new ImageDataProviderWrapper (provider );
2165
2163
}
2166
2164
}
0 commit comments