From 4cda0c91fd6c67aebdfa28febc296f271dec215d Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sun, 10 Jul 2022 10:24:34 +0000 Subject: [PATCH] throw exception if wrong Color class is used git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1902623 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/poi/xssf/usermodel/XSSFCellStyle.java | 6 ++++++ .../java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCellStyle.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCellStyle.java index b221bf5491..8d37d10709 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCellStyle.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFCellStyle.java @@ -833,12 +833,15 @@ public class XSSFCellStyle implements CellStyle, Duplicatable { * Set the background fill color represented as a {@link org.apache.poi.ss.usermodel.Color} value. *
* @param color the color to use + * @throws IllegalArgumentException if you provide a Color instance that is not a {@link XSSFColor} * @since POI 5.2.3 */ @Override public void setFillBackgroundColor(org.apache.poi.ss.usermodel.Color color) { if (color instanceof XSSFColor) { setFillBackgroundColor((XSSFColor)color); + } else { + throw new IllegalArgumentException("XSSFCellStyle only accepts XSSFColor instances"); } } @@ -900,12 +903,15 @@ public class XSSFCellStyle implements CellStyle, Duplicatable { * Set the foreground fill color represented as a {@link org.apache.poi.ss.usermodel.Color} value. *
* @param color the color to use + * @throws IllegalArgumentException if you provide a Color instance that is not a {@link XSSFColor} * @since POI 5.2.3 */ @Override public void setFillForegroundColor(org.apache.poi.ss.usermodel.Color color) { if (color instanceof XSSFColor) { setFillForegroundColor((XSSFColor)color); + } else { + throw new IllegalArgumentException("XSSFCellStyle only accepts XSSFColor instances"); } } diff --git a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java index 9bb826d56a..bff242f0c4 100644 --- a/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java +++ b/poi/src/main/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java @@ -642,6 +642,7 @@ public final class HSSFCellStyle implements CellStyle, Duplicatable { * Set the background fill color represented as a {@link org.apache.poi.ss.usermodel.Color} value. *
* @param color the color to use + * @throws IllegalArgumentException if you provide a Color instance that is not a {@link HSSFColor} * @since POI 5.2.3 */ @Override @@ -650,6 +651,8 @@ public final class HSSFCellStyle implements CellStyle, Duplicatable { if (color instanceof HSSFColor) { short index2 = ((HSSFColor)color).getIndex2(); if (index2 != -1) setFillBackgroundColor(index2); + } else { + throw new IllegalArgumentException("HSSFCellStyle only accepts HSSFColor instances"); } } @@ -698,6 +701,7 @@ public final class HSSFCellStyle implements CellStyle, Duplicatable { * Set the foreground fill color represented as a {@link org.apache.poi.ss.usermodel.Color} value. *
* @param color the color to use + * @throws IllegalArgumentException if you provide a Color instance that is not a {@link HSSFColor} * @since POI 5.2.3 */ @Override @@ -706,6 +710,8 @@ public final class HSSFCellStyle implements CellStyle, Duplicatable { if (color instanceof HSSFColor) { short index2 = ((HSSFColor)color).getIndex2(); if (index2 != -1) setFillForegroundColor(index2); + } else { + throw new IllegalArgumentException("HSSFCellStyle only accepts HSSFColor instances"); } }