> baseMrImageConstructor = getBaseMultiResolutionImageConstructor();
+ if (baseMrImageConstructor.isPresent()) {
try {
- return c.newInstance((Object) imgs.toArray(new Image[0]));
+ return baseMrImageConstructor.get().newInstance((Object) imgs.toArray(new Image[0]));
} catch (InstantiationException | IllegalAccessException | InvocationTargetException ex) {
Logging.error("Unexpected error while instantiating object of class BaseMultiResolutionImage: " + ex);
@@ -80,6 +79,5 @@
* Wrapper for the method java.awt.image.BaseMultiResolutionImage#getBaseImage()
.
*
- * Will return the argument img
unchanged, if it is not a multi-resolution
- * image.
+ * Will return the argument img
unchanged, if it is not a multi-resolution image.
* @param img the image
* @return if img
is a java.awt.image.BaseMultiResolutionImage
,
@@ -87,11 +85,13 @@
*/
public static Image getBaseImage(Image img) {
- if (!getBaseMultiResolutionImageClass().isPresent() || !getResolutionVariantsMethod().isPresent()) {
+ Optional> baseMrImageClass = getBaseMultiResolutionImageClass();
+ Optional resVariantsMethod = getResolutionVariantsMethod();
+ if (!baseMrImageClass.isPresent() || !resVariantsMethod.isPresent()) {
return img;
}
- if (getBaseMultiResolutionImageClass().get().isInstance(img)) {
+ if (baseMrImageClass.get().isInstance(img)) {
try {
@SuppressWarnings("unchecked")
- List imgVars = (List) getResolutionVariantsMethod().get().invoke(img);
+ List imgVars = (List) resVariantsMethod.get().invoke(img);
if (!imgVars.isEmpty()) {
return imgVars.get(0);
@@ -107,6 +107,5 @@
* Wrapper for the method java.awt.image.MultiResolutionImage#getResolutionVariants()
.
*
- * Will return the argument as a singleton list, in case it is not a multi-resolution
- * image.
+ * Will return the argument as a singleton list, in case it is not a multi-resolution image.
* @param img the image
* @return if img
is a java.awt.image.BaseMultiResolutionImage
,
@@ -115,11 +114,13 @@
*/
public static List getResolutionVariants(Image img) {
- if (!getBaseMultiResolutionImageClass().isPresent() || !getResolutionVariantsMethod().isPresent()) {
+ Optional> baseMrImageClass = getBaseMultiResolutionImageClass();
+ Optional resVariantsMethod = getResolutionVariantsMethod();
+ if (!baseMrImageClass.isPresent() || !resVariantsMethod.isPresent()) {
return Collections.singletonList(img);
}
- if (getBaseMultiResolutionImageClass().get().isInstance(img)) {
+ if (baseMrImageClass.get().isInstance(img)) {
try {
@SuppressWarnings("unchecked")
- List imgVars = (List) getResolutionVariantsMethod().get().invoke(img);
+ List imgVars = (List) resVariantsMethod.get().invoke(img);
if (!imgVars.isEmpty()) {
return imgVars;
@@ -205,5 +206,5 @@
try {
@SuppressWarnings("unchecked")
- Class extends Image> c = (Class) Class.forName("java.awt.image.BaseMultiResolutionImage");
+ Class extends Image> c = (Class extends Image>) Class.forName("java.awt.image.BaseMultiResolutionImage");
baseMultiResolutionImageClass = Optional.ofNullable(c);
} catch (ClassNotFoundException ex) {