]> source.dussan.org Git - poi.git/commitdiff
#58138 CF Border colour getters and setters on Color objects as well as shorts
authorNick Burch <nick@apache.org>
Tue, 14 Jul 2015 21:19:13 +0000 (21:19 +0000)
committerNick Burch <nick@apache.org>
Tue, 14 Jul 2015 21:19:13 +0000 (21:19 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1691083 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ss/usermodel/BorderFormatting.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFBorderFormatting.java

index 5e1154d9b459df359077efcabeec0403fb41834c..165cf054210650a3437d62ead4a0752f5897bf26 100644 (file)
@@ -64,14 +64,19 @@ public interface BorderFormatting {
     short getBorderTop();\r
 \r
     short getBottomBorderColor();\r
+    Color getBottomBorderColorColor();\r
 \r
     short getDiagonalBorderColor();\r
+    Color getDiagonalBorderColorColor();\r
 \r
     short getLeftBorderColor();\r
+    Color getLeftBorderColorColor();\r
 \r
     short getRightBorderColor();\r
+    Color getRightBorderColorColor();\r
 \r
     short getTopBorderColor();\r
+    Color getTopBorderColorColor();\r
 \r
     void setBorderBottom(short border);\r
 \r
@@ -104,12 +109,17 @@ public interface BorderFormatting {
     void setBorderTop(short border);\r
 \r
     void setBottomBorderColor(short color);\r
+    void setBottomBorderColor(Color color);\r
 \r
     void setDiagonalBorderColor(short color);\r
+    void setDiagonalBorderColor(Color color);\r
 \r
     void setLeftBorderColor(short color);\r
+    void setLeftBorderColor(Color color);\r
 \r
     void setRightBorderColor(short color);\r
+    void setRightBorderColor(Color color);\r
 \r
     void setTopBorderColor(short color);\r
+    void setTopBorderColor(Color color);\r
 }\r
index d91f5ca810e1e3f3b3f2e7b88737d5180b81d7bc..e307a4a30366847b9e9caf5e1452ff29825325b5 100644 (file)
 package org.apache.poi.xssf.usermodel;\r
 \r
 import org.apache.poi.ss.usermodel.BorderFormatting;\r
+import org.apache.poi.ss.usermodel.Color;\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle;\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;\r
 \r
 /**\r
- * @author Yegor Kozlov\r
+ * XSSF high level representation for Border Formatting component\r
+ * of Conditional Formatting settings\r
  */\r
 public class XSSFBorderFormatting implements BorderFormatting  {\r
     CTBorder _border;\r
 \r
-    /*package*/ XSSFBorderFormatting(CTBorder border){\r
+    /*package*/ XSSFBorderFormatting(CTBorder border) {\r
         _border = border;\r
     }\r
 \r
-    public short getBorderBottom(){\r
+    public short getBorderBottom() {\r
         STBorderStyle.Enum ptrn = _border.isSetBottom() ? _border.getBottom().getStyle() : null;\r
         return ptrn == null ? BORDER_NONE : (short)(ptrn.intValue() - 1);\r
     }\r
 \r
-    public short getBorderDiagonal(){\r
+    public short getBorderDiagonal() {\r
         STBorderStyle.Enum ptrn = _border.isSetDiagonal() ? _border.getDiagonal().getStyle() : null;\r
         return ptrn == null ? BORDER_NONE : (short)(ptrn.intValue() - 1);\r
     }\r
 \r
-    public short getBorderLeft(){\r
+    public short getBorderLeft() {\r
         STBorderStyle.Enum ptrn = _border.isSetLeft() ? _border.getLeft().getStyle() : null;\r
         return ptrn == null ? BORDER_NONE : (short)(ptrn.intValue() - 1);\r
     }\r
 \r
-    public short getBorderRight(){\r
+    public short getBorderRight() {\r
         STBorderStyle.Enum ptrn = _border.isSetRight() ? _border.getRight().getStyle() : null;\r
         return ptrn == null ? BORDER_NONE : (short)(ptrn.intValue() - 1);\r
     }\r
 \r
-    public short getBorderTop(){\r
+    public short getBorderTop() {\r
         STBorderStyle.Enum ptrn = _border.isSetTop() ? _border.getTop().getStyle() : null;\r
         return ptrn == null ? BORDER_NONE : (short)(ptrn.intValue() - 1);\r
     }\r
 \r
-    public short getBottomBorderColor(){\r
-        if(!_border.isSetBottom()) return 0;\r
+    public XSSFColor getBottomBorderColorColor() {\r
+        if(!_border.isSetBottom()) return null;\r
 \r
         CTBorderPr pr = _border.getBottom();\r
-        return (short)pr.getColor().getIndexed();\r
+        return new XSSFColor(pr.getColor());\r
+    }\r
+    public short getBottomBorderColor() {\r
+        XSSFColor color = getBottomBorderColorColor();\r
+        if (color == null) return 0;\r
+        return color.getIndexed();\r
     }\r
 \r
-    public short getDiagonalBorderColor(){\r
-        if(!_border.isSetDiagonal()) return 0;\r
+    public XSSFColor getDiagonalBorderColorColor() {\r
+        if(!_border.isSetDiagonal()) return null;\r
 \r
         CTBorderPr pr = _border.getDiagonal();\r
-        return (short)pr.getColor().getIndexed();\r
+        return new XSSFColor(pr.getColor());\r
+    }\r
+    public short getDiagonalBorderColor() {\r
+        XSSFColor color = getDiagonalBorderColorColor();\r
+        if (color == null) return 0;\r
+        return color.getIndexed();\r
     }\r
 \r
-    public short getLeftBorderColor(){\r
-        if(!_border.isSetLeft()) return 0;\r
+    public XSSFColor getLeftBorderColorColor() {\r
+        if(!_border.isSetLeft()) return null;\r
 \r
         CTBorderPr pr = _border.getLeft();\r
-        return (short)pr.getColor().getIndexed();\r
+        return new XSSFColor(pr.getColor());\r
+    }\r
+    public short getLeftBorderColor() {\r
+        XSSFColor color = getLeftBorderColorColor();\r
+        if (color == null) return 0;\r
+        return color.getIndexed();\r
     }\r
 \r
-    public short getRightBorderColor(){\r
-        if(!_border.isSetRight()) return 0;\r
+    public XSSFColor getRightBorderColorColor() {\r
+        if(!_border.isSetRight()) return null;\r
 \r
         CTBorderPr pr = _border.getRight();\r
-        return (short)pr.getColor().getIndexed();\r
+        return new XSSFColor(pr.getColor());\r
+    }\r
+    public short getRightBorderColor() {\r
+        XSSFColor color = getRightBorderColorColor();\r
+        if (color == null) return 0;\r
+        return color.getIndexed();\r
     }\r
 \r
-    public short getTopBorderColor(){\r
-        if(!_border.isSetTop()) return 0;\r
+    public XSSFColor getTopBorderColorColor() {\r
+        if(!_border.isSetTop()) return null;\r
 \r
         CTBorderPr pr = _border.getTop();\r
-        return (short)pr.getColor().getIndexed();\r
+        return new XSSFColor(pr.getColor());\r
+    }\r
+    public short getTopBorderColor() {\r
+        XSSFColor color = getRightBorderColorColor();\r
+        if (color == null) return 0;\r
+        return color.getIndexed();\r
     }\r
 \r
-    public void setBorderBottom(short border){\r
+    public void setBorderBottom(short border) {\r
         CTBorderPr pr = _border.isSetBottom() ? _border.getBottom() : _border.addNewBottom();\r
         if(border == BORDER_NONE) _border.unsetBottom();\r
         else pr.setStyle(STBorderStyle.Enum.forInt(border + 1));\r
     }\r
 \r
-    public void setBorderDiagonal(short border){\r
+    public void setBorderDiagonal(short border) {\r
         CTBorderPr pr = _border.isSetDiagonal() ? _border.getDiagonal() : _border.addNewDiagonal();\r
         if(border == BORDER_NONE) _border.unsetDiagonal();\r
         else pr.setStyle(STBorderStyle.Enum.forInt(border + 1));\r
     }\r
 \r
-    public void setBorderLeft(short border){\r
+    public void setBorderLeft(short border) {\r
         CTBorderPr pr = _border.isSetLeft() ? _border.getLeft() : _border.addNewLeft();\r
         if(border == BORDER_NONE) _border.unsetLeft();\r
         else pr.setStyle(STBorderStyle.Enum.forInt(border + 1));\r
     }\r
 \r
-    public void setBorderRight(short border){\r
+    public void setBorderRight(short border) {\r
         CTBorderPr pr = _border.isSetRight() ? _border.getRight() : _border.addNewRight();\r
         if(border == BORDER_NONE) _border.unsetRight();\r
         else pr.setStyle(STBorderStyle.Enum.forInt(border + 1));\r
     }\r
 \r
-    public void setBorderTop(short border){\r
+    public void setBorderTop(short border) {\r
         CTBorderPr pr = _border.isSetTop() ? _border.getTop() : _border.addNewTop();\r
         if(border == BORDER_NONE) _border.unsetTop();\r
         else pr.setStyle(STBorderStyle.Enum.forInt(border + 1));\r
     }\r
 \r
-    public void setBottomBorderColor(short color){\r
+    public void setBottomBorderColor(Color color) {\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(color);\r
+        if (xcolor == null) setBottomBorderColor((CTColor)null);\r
+        else setBottomBorderColor(xcolor.getCTColor());\r
+    }\r
+    public void setBottomBorderColor(short color) {\r
+        CTColor ctColor = CTColor.Factory.newInstance();\r
+        ctColor.setIndexed(color);\r
+        setBottomBorderColor(ctColor);\r
+    }\r
+    public void setBottomBorderColor(CTColor color) {\r
         CTBorderPr pr = _border.isSetBottom() ? _border.getBottom() : _border.addNewBottom();\r
+        if (color == null) {\r
+            pr.unsetColor();\r
+        } else {\r
+            pr.setColor(color);\r
+        }\r
+    }\r
 \r
+    public void setDiagonalBorderColor(Color color) {\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(color);\r
+        if (xcolor == null) setDiagonalBorderColor((CTColor)null);\r
+        else setDiagonalBorderColor(xcolor.getCTColor());\r
+    }\r
+    public void setDiagonalBorderColor(short color) {\r
         CTColor ctColor = CTColor.Factory.newInstance();\r
         ctColor.setIndexed(color);\r
-        pr.setColor(ctColor);\r
+        setDiagonalBorderColor(ctColor);\r
     }\r
-\r
-    public void setDiagonalBorderColor(short color){\r
+    public void setDiagonalBorderColor(CTColor color) {\r
         CTBorderPr pr = _border.isSetDiagonal() ? _border.getDiagonal() : _border.addNewDiagonal();\r
+        if (color == null) {\r
+            pr.unsetColor();\r
+        } else {\r
+            pr.setColor(color);\r
+        }\r
+    }\r
 \r
+    public void setLeftBorderColor(Color color) {\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(color);\r
+        if (xcolor == null) setLeftBorderColor((CTColor)null);\r
+        else setLeftBorderColor(xcolor.getCTColor());\r
+    }\r
+    public void setLeftBorderColor(short color) {\r
         CTColor ctColor = CTColor.Factory.newInstance();\r
         ctColor.setIndexed(color);\r
-        pr.setColor(ctColor);\r
+        setLeftBorderColor(ctColor);\r
     }\r
-\r
-    public void setLeftBorderColor(short color){\r
+    public void setLeftBorderColor(CTColor color) {\r
         CTBorderPr pr = _border.isSetLeft() ? _border.getLeft() : _border.addNewLeft();\r
+        if (color == null) {\r
+            pr.unsetColor();\r
+        } else {\r
+            pr.setColor(color);\r
+        }\r
+    }\r
 \r
+    public void setRightBorderColor(Color color) {\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(color);\r
+        if (xcolor == null) setRightBorderColor((CTColor)null);\r
+        else setRightBorderColor(xcolor.getCTColor());\r
+    }\r
+    public void setRightBorderColor(short color) {\r
         CTColor ctColor = CTColor.Factory.newInstance();\r
         ctColor.setIndexed(color);\r
-        pr.setColor(ctColor);\r
+        setRightBorderColor(ctColor);\r
     }\r
-\r
-    public void setRightBorderColor(short color){\r
+    public void setRightBorderColor(CTColor color) {\r
         CTBorderPr pr = _border.isSetRight() ? _border.getRight() : _border.addNewRight();\r
+        if (color == null) {\r
+            pr.unsetColor();\r
+        } else {\r
+            pr.setColor(color);\r
+        }\r
+    }\r
 \r
+    public void setTopBorderColor(Color color) {\r
+        XSSFColor xcolor = XSSFColor.toXSSFColor(color);\r
+        if (xcolor == null) setTopBorderColor((CTColor)null);\r
+        else setTopBorderColor(xcolor.getCTColor());\r
+    }\r
+    public void setTopBorderColor(short color) {\r
         CTColor ctColor = CTColor.Factory.newInstance();\r
         ctColor.setIndexed(color);\r
-        pr.setColor(ctColor);\r
+        setTopBorderColor(ctColor);\r
     }\r
-\r
-    public void setTopBorderColor(short color){\r
+    public void setTopBorderColor(CTColor color) {\r
         CTBorderPr pr = _border.isSetTop() ? _border.getTop() : _border.addNewTop();\r
-\r
-        CTColor ctColor = CTColor.Factory.newInstance();\r
-        ctColor.setIndexed(color);\r
-        pr.setColor(ctColor);\r
+        if (color == null) {\r
+            pr.unsetColor();\r
+        } else {\r
+            pr.setColor(color);\r
+        }\r
     }\r
-    \r
 }\r