]> source.dussan.org Git - poi.git/commitdiff
Cleaner code for checking and casting the Color objects
authorNick Burch <nick@apache.org>
Tue, 14 Jul 2015 19:29:18 +0000 (19:29 +0000)
committerNick Burch <nick@apache.org>
Tue, 14 Jul 2015 19:29:18 +0000 (19:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691064 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/usermodel/HSSFFontFormatting.java
src/java/org/apache/poi/hssf/usermodel/HSSFPatternFormatting.java
src/java/org/apache/poi/hssf/util/HSSFColor.java
src/java/org/apache/poi/ss/usermodel/BorderFormatting.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFFontFormatting.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPatternFormatting.java

index 68ae84d14983acabc3deaf83a4037509dad11f46..07f5fd472704e92fd8f0bc4d2f14ea43a490feeb 100644 (file)
@@ -77,11 +77,7 @@ public final class HSSFFontFormatting implements org.apache.poi.ss.usermodel.Fon
     }
 
     public void setFontColor(Color color) {
-        if (color != null && !(color instanceof HSSFColor)) {
-            throw new IllegalArgumentException("Only HSSFColor objects are supported");
-        }
-
-        HSSFColor hcolor = (HSSFColor)color;
+        HSSFColor hcolor = HSSFColor.toHSSFColor(color);
         if (hcolor == null) {
             fontFormatting.setFontColorIndex((short)0);
         } else {
index 7be7945d172b501b25b94c2d10ed92bc24ccf050..1f521c509eb569b4587949f60de4dd360a61e62b 100644 (file)
@@ -74,10 +74,7 @@ public class HSSFPatternFormatting implements org.apache.poi.ss.usermodel.Patter
     }
 
     public void setFillBackgroundColor(Color bg) {
-        if (bg != null && !(bg instanceof HSSFColor)) {
-            throw new IllegalArgumentException("Only HSSFColor objects are supported");
-        }
-        HSSFColor hcolor = (HSSFColor)bg;
+        HSSFColor hcolor = HSSFColor.toHSSFColor(bg);
         if (hcolor == null) {
             setFillBackgroundColor((short)0);
         } else {
@@ -86,10 +83,7 @@ public class HSSFPatternFormatting implements org.apache.poi.ss.usermodel.Patter
     }
 
     public void setFillForegroundColor(Color fg) {
-        if (fg != null && !(fg instanceof HSSFColor)) {
-            throw new IllegalArgumentException("Only HSSFColor objects are supported");
-        }
-        HSSFColor hcolor = (HSSFColor)fg;
+        HSSFColor hcolor = HSSFColor.toHSSFColor(fg);
         if (hcolor == null) {
             setFillForegroundColor((short)0);
         } else {
index f438e1b0015d409ff512c2f527bd6bd0e1309313..d7a1cb587ea9bf6c71ec52dc572ad91c089a89c9 100644 (file)
@@ -204,6 +204,13 @@ public class HSSFColor implements Color {
     {
         return BLACK.hexString;
     }
+    
+    public static HSSFColor toHSSFColor(Color color) {
+        if (color != null && !(color instanceof HSSFColor)) {
+            throw new IllegalArgumentException("Only HSSFColor objects are supported");
+        }
+        return (HSSFColor)color;
+    }
 
     /**
      * Class BLACK
index c15dc269cba5e7364eb18caac75bd670729b6ecc..5e1154d9b459df359077efcabeec0403fb41834c 100644 (file)
@@ -20,8 +20,8 @@
 package org.apache.poi.ss.usermodel;\r
 \r
 /**\r
- * @author Dmitriy Kumshayev\r
- * @author Yegor Kozlov\r
+ * High level representation for Border Formatting component\r
+ * of Conditional Formatting settings\r
  */\r
 public interface BorderFormatting {\r
     /** No border */\r
index 3082e53878c5611a0ae7e73fa4db724ccea3c533..d2dc28dda7dd81f6b34b6724d36cdb457c492e20 100644 (file)
@@ -316,6 +316,13 @@ public class XSSFColor implements Color {
         return ctColor;
     }
 
+    public static XSSFColor toXSSFColor(Color color) {
+        if (color != null && !(color instanceof XSSFColor)) {
+            throw new IllegalArgumentException("Only XSSFColor objects are supported");
+        }
+        return (XSSFColor)color;
+    }
+    
     public int hashCode(){
         return ctColor.toString().hashCode();
     }
index 40ce715f48612cf549375cbec84c6f71e857f4be..e788cf893b036e18ee6666cfb53d474d459909e6 100644 (file)
@@ -97,11 +97,7 @@ public class XSSFFontFormatting implements FontFormatting {
     }\r
 \r
     public void setFontColor(Color color) {\r
-        if (color != null && !(color instanceof XSSFColor)) {\r
-            throw new IllegalArgumentException("Only XSSFColor objects are supported");\r
-        }\r
-         \r
-        XSSFColor xcolor = (XSSFColor)color;\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(color);\r
         if (xcolor == null) {\r
             _font.getColorList().clear();\r
         } else {\r
index 898fa9b7aa0d31ef41020bffe5ec1a952fd23442..75989f3e79622fef45fccff6a3430c8936ba982a 100644 (file)
@@ -63,10 +63,7 @@ public class XSSFPatternFormatting implements PatternFormatting {
     }\r
 \r
     public void setFillBackgroundColor(Color bg) {\r
-        if (bg != null && !(bg instanceof XSSFColor)) {\r
-            throw new IllegalArgumentException("Only XSSFColor objects are supported");\r
-        }\r
-        XSSFColor xcolor = (XSSFColor)bg;\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(bg);\r
         setFillBackgroundColor(xcolor.getCTColor());\r
     }\r
     public void setFillBackgroundColor(short bg) {\r
@@ -80,10 +77,7 @@ public class XSSFPatternFormatting implements PatternFormatting {
     }\r
     \r
     public void setFillForegroundColor(Color fg) {\r
-        if (fg != null && !(fg instanceof XSSFColor)) {\r
-            throw new IllegalArgumentException("Only XSSFColor objects are supported");\r
-        }\r
-        XSSFColor xcolor = (XSSFColor)fg;\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(fg);\r
         setFillForegroundColor(xcolor.getCTColor());\r
     }\r
     public void setFillForegroundColor(short fg) {\r