aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Beeker <kiwiwings@apache.org>2017-01-22 22:01:22 +0000
committerAndreas Beeker <kiwiwings@apache.org>2017-01-22 22:01:22 +0000
commitc0eb123f9152206666e7504ebc003720a04187eb (patch)
treeeba6f4489c233caeecccb5a87d6a3bb3aa54a9ba /src
parentc2d7fba807d5fe3c1ddce6aaf3ba6581d8b65ac8 (diff)
downloadpoi-c0eb123f9152206666e7504ebc003720a04187eb.tar.gz
poi-c0eb123f9152206666e7504ebc003720a04187eb.zip
#59836 - Tracker: Replace primitives with enums
preparation for removing those many HSSFColor subclasses with an enum git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1779866 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java35
-rw-r--r--src/examples/src/org/apache/poi/hssf/usermodel/examples/Borders.java10
-rw-r--r--src/examples/src/org/apache/poi/hssf/usermodel/examples/CellComments.java4
-rw-r--r--src/examples/src/org/apache/poi/hssf/usermodel/examples/FrillsAndFills.java6
-rw-r--r--src/examples/src/org/apache/poi/hssf/usermodel/examples/Hyperlinks.java6
-rw-r--r--src/examples/src/org/apache/poi/hssf/view/SVTableCellEditor.java55
-rw-r--r--src/examples/src/org/apache/poi/hssf/view/SVTableUtils.java43
-rw-r--r--src/examples/src/org/apache/poi/ss/examples/html/HSSFHtmlHelper.java11
-rw-r--r--src/java/org/apache/poi/hssf/model/InternalWorkbook.java139
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java65
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFPalette.java12
-rw-r--r--src/java/org/apache/poi/hssf/util/HSSFColor.java2111
-rw-r--r--src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java98
-rw-r--r--src/testcases/org/apache/poi/hssf/record/TestPaletteRecord.java6
-rw-r--r--src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java42
-rw-r--r--src/testcases/org/apache/poi/hssf/util/AllHSSFUtilTests.java22
-rw-r--r--src/testcases/org/apache/poi/hssf/util/TestHSSFColor.java37
17 files changed, 1053 insertions, 1649 deletions
diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java
index cf37752000..d108214e60 100644
--- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java
+++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/BigExample.java
@@ -17,19 +17,22 @@
package org.apache.poi.hssf.usermodel.examples;
-import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.hssf.util.HSSFColor;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.Font;
-
import java.io.FileOutputStream;
import java.io.IOException;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFDataFormat;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
+import org.apache.poi.ss.usermodel.BorderStyle;
+import org.apache.poi.ss.usermodel.FillPatternType;
+
/**
* Demonstrates many features of the user API at once. Used in the HOW-TO guide.
- *
- * @author Glen Stampoultzis (glens at apache.org)
- * @author Andrew Oliver (acoliver at apache.org)
*/
public class BigExample {
public static void main(String[] args) throws IOException {
@@ -56,17 +59,17 @@ public class BigExample {
//set font 1 to 12 point type
f.setFontHeightInPoints((short) 12);
//make it red
- f.setColor(HSSFColor.RED.index);
+ f.setColor(HSSFColorPredefined.RED.getIndex());
// make it bold
//arial is the default font
- f.setBoldweight(Font.BOLDWEIGHT_BOLD);
+ f.setBold(true);
//set font 2 to 10 point type
f2.setFontHeightInPoints((short) 10);
//make it the color at palette index 0xf (white)
- f2.setColor(HSSFColor.WHITE.index);
+ f2.setColor(HSSFColorPredefined.WHITE.getIndex());
//make it bold
- f2.setBoldweight(Font.BOLDWEIGHT_BOLD);
+ f2.setBold(true);
//set cell stlye
cs.setFont(f);
@@ -74,11 +77,11 @@ public class BigExample {
cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
//set a thin border
- cs2.setBorderBottom(CellStyle.BORDER_THIN);
+ cs2.setBorderBottom(BorderStyle.THIN);
//fill w fg fill color
- cs2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
+ cs2.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// set foreground fill to red
- cs2.setFillForegroundColor(HSSFColor.RED.index);
+ cs2.setFillForegroundColor(HSSFColorPredefined.RED.getIndex());
// set the font
cs2.setFont(f2);
@@ -143,7 +146,7 @@ public class BigExample {
// define the third style to be the default
// except with a thick black border at the bottom
- cs3.setBorderBottom(CellStyle.BORDER_THICK);
+ cs3.setBorderBottom(BorderStyle.THICK);
//create 50 cells
for (int cellnum =0; cellnum < 50; cellnum++) {
diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/Borders.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/Borders.java
index 9158b0ccff..8573f11139 100644
--- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/Borders.java
+++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/Borders.java
@@ -25,7 +25,7 @@ import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.BorderStyle;
/**
@@ -46,13 +46,13 @@ public class Borders {
// Style the cell with borders all around.
HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(BorderStyle.THIN);
- style.setBottomBorderColor(HSSFColor.BLACK.index);
+ style.setBottomBorderColor(HSSFColorPredefined.BLACK.getIndex());
style.setBorderLeft(BorderStyle.THIN);
- style.setLeftBorderColor(HSSFColor.GREEN.index);
+ style.setLeftBorderColor(HSSFColorPredefined.GREEN.getIndex());
style.setBorderRight(BorderStyle.THIN);
- style.setRightBorderColor(HSSFColor.BLUE.index);
+ style.setRightBorderColor(HSSFColorPredefined.BLUE.getIndex());
style.setBorderTop(BorderStyle.MEDIUM_DASHED);
- style.setTopBorderColor(HSSFColor.ORANGE.index);
+ style.setTopBorderColor(HSSFColorPredefined.ORANGE.getIndex());
cell.setCellStyle(style);
// Write the output to a file
diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellComments.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellComments.java
index 4109a87f48..35df7690ac 100644
--- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellComments.java
+++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/CellComments.java
@@ -28,7 +28,7 @@ import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
/**
* Demonstrates how to work with excel cell comments.
@@ -81,7 +81,7 @@ public class CellComments {
font.setFontName("Arial");
font.setFontHeightInPoints((short)10);
font.setBold(true);
- font.setColor(HSSFColor.RED.index);
+ font.setColor(HSSFColorPredefined.RED.getIndex());
string.applyFont(font);
comment2.setString(string);
diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/FrillsAndFills.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/FrillsAndFills.java
index 40be15e014..9b05853e4f 100644
--- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/FrillsAndFills.java
+++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/FrillsAndFills.java
@@ -25,7 +25,7 @@ import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.FillPatternType;
/**
@@ -41,7 +41,7 @@ public class FrillsAndFills {
// Aqua background
HSSFCellStyle style = wb.createCellStyle();
- style.setFillBackgroundColor(HSSFColor.AQUA.index);
+ style.setFillBackgroundColor(HSSFColorPredefined.AQUA.getIndex());
style.setFillPattern(FillPatternType.BIG_SPOTS);
HSSFCell cell = row.createCell(1);
cell.setCellValue("X");
@@ -49,7 +49,7 @@ public class FrillsAndFills {
// Orange "foreground", foreground being the fill foreground not the font color.
style = wb.createCellStyle();
- style.setFillForegroundColor(HSSFColor.ORANGE.index);
+ style.setFillForegroundColor(HSSFColorPredefined.ORANGE.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell = row.createCell(2);
cell.setCellValue("X");
diff --git a/src/examples/src/org/apache/poi/hssf/usermodel/examples/Hyperlinks.java b/src/examples/src/org/apache/poi/hssf/usermodel/examples/Hyperlinks.java
index adad7da363..9a71bcd222 100644
--- a/src/examples/src/org/apache/poi/hssf/usermodel/examples/Hyperlinks.java
+++ b/src/examples/src/org/apache/poi/hssf/usermodel/examples/Hyperlinks.java
@@ -28,13 +28,11 @@ import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.Font;
/**
* Demonstrates how to create hyperlinks.
- *
- * @author Yegor Kozlov (yegor at apach.org)
*/
public class Hyperlinks {
@@ -47,7 +45,7 @@ public class Hyperlinks {
HSSFCellStyle hlink_style = wb.createCellStyle();
HSSFFont hlink_font = wb.createFont();
hlink_font.setUnderline(Font.U_SINGLE);
- hlink_font.setColor(HSSFColor.BLUE.index);
+ hlink_font.setColor(HSSFColorPredefined.BLUE.getIndex());
hlink_style.setFont(hlink_font);
HSSFCell cell;
diff --git a/src/examples/src/org/apache/poi/hssf/view/SVTableCellEditor.java b/src/examples/src/org/apache/poi/hssf/view/SVTableCellEditor.java
index 3c58d5346b..9db98d95ed 100644
--- a/src/examples/src/org/apache/poi/hssf/view/SVTableCellEditor.java
+++ b/src/examples/src/org/apache/poi/hssf/view/SVTableCellEditor.java
@@ -18,6 +18,8 @@
package org.apache.poi.hssf.view;
+import static org.apache.poi.hssf.view.SVTableUtils.getAWTColor;
+
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
@@ -25,7 +27,6 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.util.EventObject;
-import java.util.Map;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
@@ -37,7 +38,7 @@ import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.FillPatternType;
/**
@@ -47,10 +48,8 @@ import org.apache.poi.ss.usermodel.FillPatternType;
* @author Jason Height
*/
public class SVTableCellEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
- private static final Color black = getAWTColor(new HSSFColor.BLACK());
- private static final Color white = getAWTColor(new HSSFColor.WHITE());
- private Map<Integer,HSSFColor> colors = HSSFColor.getIndexHash();
-
+ private static final Color black = getAWTColor(HSSFColorPredefined.BLACK);
+ private static final Color white = getAWTColor(HSSFColorPredefined.WHITE);
private HSSFWorkbook wb;
private JTextField editor;
@@ -67,7 +66,7 @@ public class SVTableCellEditor extends AbstractCellEditor implements TableCellEd
* @return The cellEditable value
*/
@Override
-public boolean isCellEditable(java.util.EventObject e) {
+ public boolean isCellEditable(java.util.EventObject e) {
if (e instanceof MouseEvent) {
return ((MouseEvent) e).getClickCount() >= 2;
}
@@ -76,7 +75,7 @@ public boolean isCellEditable(java.util.EventObject e) {
@Override
-public boolean shouldSelectCell(EventObject anEvent) {
+ public boolean shouldSelectCell(EventObject anEvent) {
return true;
}
@@ -88,7 +87,7 @@ public boolean shouldSelectCell(EventObject anEvent) {
@Override
-public boolean stopCellEditing() {
+ public boolean stopCellEditing() {
System.out.println("Stop Cell Editing");
fireEditingStopped();
return true;
@@ -96,14 +95,14 @@ public boolean stopCellEditing() {
@Override
-public void cancelCellEditing() {
+ public void cancelCellEditing() {
System.out.println("Cancel Cell Editing");
fireEditingCanceled();
}
@Override
-public void actionPerformed(ActionEvent e) {
+ public void actionPerformed(ActionEvent e) {
System.out.println("Action performed");
stopCellEditing();
}
@@ -115,7 +114,7 @@ public void actionPerformed(ActionEvent e) {
* @return The cellEditorValue value
*/
@Override
-public Object getCellEditorValue() {
+ public Object getCellEditorValue() {
System.out.println("GetCellEditorValue");
//JMH Look at when this method is called. Should it return a HSSFCell?
return editor.getText();
@@ -128,7 +127,7 @@ public Object getCellEditorValue() {
* @return The tableCellEditorComponent value
*/
@Override
-public Component getTableCellEditorComponent(JTable table, Object value,
+ public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected,
int row,
int column) {
@@ -142,18 +141,26 @@ public Component getTableCellEditorComponent(JTable table, Object value,
int fontstyle = Font.PLAIN;
- if (isbold) fontstyle = Font.BOLD;
- if (isitalics) fontstyle = fontstyle | Font.ITALIC;
+ if (isbold) {
+ fontstyle = Font.BOLD;
+ }
+ if (isitalics) {
+ fontstyle = fontstyle | Font.ITALIC;
+ }
int fontheight = f.getFontHeightInPoints();
- if (fontheight == 9) fontheight = 10; //fix for stupid ol Windows
+ if (fontheight == 9) {
+ fontheight = 10; //fix for stupid ol Windows
+ }
Font font = new Font(f.getFontName(),fontstyle,fontheight);
editor.setFont(font);
if (style.getFillPatternEnum() == FillPatternType.SOLID_FOREGROUND) {
editor.setBackground(getAWTColor(style.getFillForegroundColor(), white));
- } else editor.setBackground(white);
+ } else {
+ editor.setBackground(white);
+ }
editor.setForeground(getAWTColor(f.getColor(), black));
@@ -202,18 +209,4 @@ public Component getTableCellEditorComponent(JTable table, Object value,
}
return editor;
}
-
- /** This method retrieves the AWT Color representation from the colour hash table
- *
- */
- private final Color getAWTColor(int index, Color deflt) {
- HSSFColor clr = colors.get(index);
- if (clr == null) return deflt;
- return getAWTColor(clr);
- }
-
- private static final Color getAWTColor(HSSFColor clr) {
- short[] rgb = clr.getTriplet();
- return new Color(rgb[0],rgb[1],rgb[2]);
- }
}
diff --git a/src/examples/src/org/apache/poi/hssf/view/SVTableUtils.java b/src/examples/src/org/apache/poi/hssf/view/SVTableUtils.java
index 395f1cdb8d..4ec32944d5 100644
--- a/src/examples/src/org/apache/poi/hssf/view/SVTableUtils.java
+++ b/src/examples/src/org/apache/poi/hssf/view/SVTableUtils.java
@@ -18,12 +18,16 @@
package org.apache.poi.hssf.view;
-import java.util.*;
-import java.awt.*;
-import javax.swing.border.*;
+import java.awt.Color;
+import java.awt.Font;
+import java.util.Map;
-import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.hssf.util.*;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
+
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
/**
* SVTableCell Editor and Renderer helper functions.
@@ -33,9 +37,9 @@ import org.apache.poi.hssf.util.*;
public class SVTableUtils {
private final static Map<Integer,HSSFColor> colors = HSSFColor.getIndexHash();
/** Description of the Field */
- public final static Color black = getAWTColor(new HSSFColor.BLACK());
+ public final static Color black = getAWTColor(HSSFColorPredefined.BLACK);
/** Description of the Field */
- public final static Color white = getAWTColor(new HSSFColor.WHITE());
+ public final static Color white = getAWTColor(HSSFColorPredefined.WHITE);
/** Description of the Field */
public static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
@@ -44,7 +48,7 @@ public class SVTableUtils {
* Creates a new font for a specific cell style
*/
public static Font makeFont(HSSFFont font) {
- boolean isbold = font.getBoldweight() > HSSFFont.BOLDWEIGHT_NORMAL;
+ boolean isbold = font.getBold();
boolean isitalics = font.getItalic();
int fontstyle = Font.PLAIN;
if (isbold) {
@@ -63,31 +67,20 @@ public class SVTableUtils {
return new Font(font.getFontName(), fontstyle, fontheight);
}
-
- /**
- * This method retrieves the AWT Color representation from the colour hash table
+ /** This method retrieves the AWT Color representation from the colour hash table
*
- * @param index Description of the Parameter
- * @param deflt Description of the Parameter
- * @return The aWTColor value
*/
- public final static Color getAWTColor(int index, Color deflt) {
+ /* package */ static final Color getAWTColor(int index, Color deflt) {
HSSFColor clr = colors.get(index);
if (clr == null) {
return deflt;
}
- return getAWTColor(clr);
+ short[] rgb = clr.getTriplet();
+ return new Color(rgb[0],rgb[1],rgb[2]);
}
-
- /**
- * Gets the aWTColor attribute of the SVTableUtils class
- *
- * @param clr Description of the Parameter
- * @return The aWTColor value
- */
- public final static Color getAWTColor(HSSFColor clr) {
+ /* package */ static final Color getAWTColor(HSSFColorPredefined clr) {
short[] rgb = clr.getTriplet();
- return new Color(rgb[0], rgb[1], rgb[2]);
+ return new Color(rgb[0],rgb[1],rgb[2]);
}
}
diff --git a/src/examples/src/org/apache/poi/ss/examples/html/HSSFHtmlHelper.java b/src/examples/src/org/apache/poi/ss/examples/html/HSSFHtmlHelper.java
index 677a38ab71..9955eb30f0 100644
--- a/src/examples/src/org/apache/poi/ss/examples/html/HSSFHtmlHelper.java
+++ b/src/examples/src/org/apache/poi/ss/examples/html/HSSFHtmlHelper.java
@@ -16,24 +16,23 @@
==================================================================== */
package org.apache.poi.ss.examples.html;
+import java.util.Formatter;
+
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFPalette;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.CellStyle;
-import java.util.Formatter;
-
/**
* Implementation of {@link HtmlHelper} for HSSF files.
- *
- * @author Ken Arnold, Industrious Media LLC
*/
public class HSSFHtmlHelper implements HtmlHelper {
private final HSSFWorkbook wb;
private final HSSFPalette colors;
- private static final HSSFColor HSSF_AUTO = new HSSFColor.AUTOMATIC();
+ private static final HSSFColor HSSF_AUTO = HSSFColorPredefined.AUTOMATIC.getColor();
public HSSFHtmlHelper(HSSFWorkbook wb) {
this.wb = wb;
@@ -45,7 +44,7 @@ public class HSSFHtmlHelper implements HtmlHelper {
@Override
public void colorStyles(CellStyle style, Formatter out) {
HSSFCellStyle cs = (HSSFCellStyle) style;
- out.format(" /* fill pattern = %d */%n", cs.getFillPattern());
+ out.format(" /* fill pattern = %d */%n", cs.getFillPatternEnum().getCode());
styleColor(out, "background-color", cs.getFillForegroundColor());
styleColor(out, "color", cs.getFont(wb).getColor());
styleColor(out, "border-left-color", cs.getLeftBorderColor());
diff --git a/src/java/org/apache/poi/hssf/model/InternalWorkbook.java b/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
index 063830d327..976c888ce8 100644
--- a/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
+++ b/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
@@ -88,7 +88,7 @@ import org.apache.poi.hssf.record.WriteAccessRecord;
import org.apache.poi.hssf.record.WriteProtectRecord;
import org.apache.poi.hssf.record.common.UnicodeString;
import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.poifs.crypt.CryptoFunctions;
import org.apache.poi.poifs.crypt.Decryptor;
import org.apache.poi.poifs.crypt.EncryptionInfo;
@@ -231,9 +231,10 @@ public final class InternalWorkbook {
* @return Workbook object
*/
public static InternalWorkbook createWorkbook(List<Record> recs) {
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "Workbook (readfile) created with reclen=",
Integer.valueOf(recs.size()));
+ }
InternalWorkbook retval = new InternalWorkbook();
List<Record> records = new ArrayList<Record>(recs.size() / 3);
retval.records.setRecords(records);
@@ -244,54 +245,62 @@ public final class InternalWorkbook {
if (rec.getSid() == EOFRecord.sid) {
records.add(rec);
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found workbook eof record at " + k);
+ }
break;
}
switch (rec.getSid()) {
case BoundSheetRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found boundsheet record at " + k);
+ }
retval.boundsheets.add((BoundSheetRecord) rec);
retval.records.setBspos( k );
break;
case SSTRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found sst record at " + k);
+ }
retval.sst = ( SSTRecord ) rec;
break;
case FontRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found font record at " + k);
+ }
retval.records.setFontpos( k );
retval.numfonts++;
break;
case ExtendedFormatRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found XF record at " + k);
+ }
retval.records.setXfpos( k );
retval.numxfs++;
break;
case TabIdRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found tabid record at " + k);
+ }
retval.records.setTabpos( k );
break;
case ProtectRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found protect record at " + k);
+ }
retval.records.setProtpos( k );
break;
case BackupRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found backup record at " + k);
+ }
retval.records.setBackuppos( k );
break;
case ExternSheetRecord.sid :
@@ -299,57 +308,67 @@ public final class InternalWorkbook {
case NameRecord.sid :
case SupBookRecord.sid :
// LinkTable can start with either of these
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found SupBook record at " + k);
+ }
retval.linkTable = new LinkTable(recs, k, retval.records, retval.commentRecords);
k+=retval.linkTable.getRecordCount() - 1;
continue;
case FormatRecord.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found format record at " + k);
+ }
retval.formats.add((FormatRecord) rec);
retval.maxformatid = retval.maxformatid >= ((FormatRecord)rec).getIndexCode() ? retval.maxformatid : ((FormatRecord)rec).getIndexCode();
break;
case DateWindow1904Record.sid :
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found datewindow1904 record at " + k);
+ }
retval.uses1904datewindowing = ((DateWindow1904Record)rec).getWindowing() == 1;
break;
case PaletteRecord.sid:
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found palette record at " + k);
+ }
retval.records.setPalettepos( k );
break;
case WindowOneRecord.sid:
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found WindowOneRecord at " + k);
+ }
retval.windowOne = (WindowOneRecord) rec;
break;
case WriteAccessRecord.sid:
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found WriteAccess at " + k);
+ }
retval.writeAccess = (WriteAccessRecord) rec;
break;
case WriteProtectRecord.sid:
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found WriteProtect at " + k);
+ }
retval.writeProtect = (WriteProtectRecord) rec;
break;
case FileSharingRecord.sid:
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found FileSharing at " + k);
+ }
retval.fileShare = (FileSharingRecord) rec;
break;
case NameCommentRecord.sid:
final NameCommentRecord ncr = (NameCommentRecord) rec;
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "found NameComment at " + k);
+ }
retval.commentRecords.put(ncr.getNameText(), ncr);
break;
default:
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "ignoring record (sid=" + rec.getSid() + ") at " + k);
+ }
break;
}
records.add(rec);
@@ -376,8 +395,9 @@ public final class InternalWorkbook {
if (retval.windowOne == null) {
retval.windowOne = createWindowOne();
}
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "exit create workbook from existing file function");
+ }
return retval;
}
@@ -389,8 +409,9 @@ public final class InternalWorkbook {
*/
public static InternalWorkbook createWorkbook()
{
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log( DEBUG, "creating new workbook from scratch" );
+ }
InternalWorkbook retval = new InternalWorkbook();
List<Record> records = new ArrayList<Record>( 30 );
retval.records.setRecords(records);
@@ -463,8 +484,9 @@ public final class InternalWorkbook {
records.add(InternalWorkbook.createExtendedSST());
records.add(EOFRecord.instance);
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log( DEBUG, "exit create new workbook from scratch" );
+ }
return retval;
}
@@ -592,9 +614,10 @@ public final class InternalWorkbook {
*/
public void setSheetBof(int sheetIndex, int pos) {
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "setting bof for sheetnum =", Integer.valueOf(sheetIndex),
" at pos=", Integer.valueOf(pos));
+ }
checkSheets(sheetIndex);
getBoundSheetRec(sheetIndex)
.setPositionOfBof(pos);
@@ -626,7 +649,9 @@ public final class InternalWorkbook {
checkSheets(sheetnum);
// YK: Mimic Excel and silently truncate sheet names longer than 31 characters
- if(sheetname.length() > 31) sheetname = sheetname.substring(0, 31);
+ if(sheetname.length() > 31) {
+ sheetname = sheetname.substring(0, 31);
+ }
BoundSheetRecord sheet = boundsheets.get(sheetnum);
sheet.setSheetname(sheetname);
@@ -868,8 +893,9 @@ public final class InternalWorkbook {
*/
public int getNumSheets() {
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "getNumSheets=", Integer.valueOf(boundsheets.size()));
+ }
return boundsheets.size();
}
@@ -880,8 +906,9 @@ public final class InternalWorkbook {
*/
public int getNumExFormats() {
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "getXF=", Integer.valueOf(numxfs));
+ }
return numxfs;
}
@@ -1019,8 +1046,9 @@ public final class InternalWorkbook {
*/
public int addSSTString(UnicodeString string) {
- if (log.check( POILogger.DEBUG ))
- log.log(DEBUG, "insert to sst string='", string);
+ if (log.check( POILogger.DEBUG )) {
+ log.log(DEBUG, "insert to sst string='", string);
+ }
if (sst == null) {
insertSST();
}
@@ -1038,9 +1066,10 @@ public final class InternalWorkbook {
}
UnicodeString retval = sst.getString(str);
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "Returning SST for index=", Integer.valueOf(str),
" String= ", retval);
+ }
return retval;
}
@@ -1052,8 +1081,9 @@ public final class InternalWorkbook {
*/
public void insertSST() {
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log(DEBUG, "creating new SST via insertSST!");
+ }
sst = new SSTRecord();
records.add(records.size() - 1, createExtendedSST());
records.add(records.size() - 2, sst);
@@ -1096,8 +1126,9 @@ public final class InternalWorkbook {
*/
public int serialize( int offset, byte[] data )
{
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log( DEBUG, "Serializing Workbook with offsets" );
+ }
int pos = 0;
@@ -1133,8 +1164,9 @@ public final class InternalWorkbook {
///// DEBUG END /////
pos += len; // rec.length;
}
- if (log.check( POILogger.DEBUG ))
+ if (log.check( POILogger.DEBUG )) {
log.log( DEBUG, "Exiting serialize workbook" );
+ }
return pos;
}
@@ -1207,13 +1239,15 @@ public final class InternalWorkbook {
for ( int k = 0; k < records.size(); k++ )
{
Record record = records.get( k );
- if (record instanceof SSTRecord)
+ if (record instanceof SSTRecord) {
sst = (SSTRecord)record;
+ }
- if (record.getSid() == ExtSSTRecord.sid && sst != null)
+ if (record.getSid() == ExtSSTRecord.sid && sst != null) {
retval += sst.calcExtSSTRecordSize();
- else
+ } else {
retval += record.getRecordSize();
+ }
}
return retval;
@@ -1250,7 +1284,9 @@ public final class InternalWorkbook {
try {
String username = System.getProperty("user.name");
// Google App engine returns null for user.name, see Bug 53974
- if(username == null) username = defaultUserName;
+ if(username == null) {
+ username = defaultUserName;
+ }
retval.setUsername(username);
} catch (AccessControlException e) {
@@ -1799,10 +1835,10 @@ public final class InternalWorkbook {
retval.setPaletteOptions(( short ) 0);
retval.setAdtlPaletteOptions(( short ) 0);
retval.setFillPaletteOptions(( short ) 0x20c0);
- retval.setTopBorderPaletteIdx(HSSFColor.BLACK.index);
- retval.setBottomBorderPaletteIdx(HSSFColor.BLACK.index);
- retval.setLeftBorderPaletteIdx(HSSFColor.BLACK.index);
- retval.setRightBorderPaletteIdx(HSSFColor.BLACK.index);
+ retval.setTopBorderPaletteIdx(HSSFColorPredefined.BLACK.getIndex());
+ retval.setBottomBorderPaletteIdx(HSSFColorPredefined.BLACK.getIndex());
+ retval.setLeftBorderPaletteIdx(HSSFColorPredefined.BLACK.getIndex());
+ retval.setRightBorderPaletteIdx(HSSFColorPredefined.BLACK.getIndex());
return retval;
}
@@ -2172,8 +2208,9 @@ public final class InternalWorkbook {
FormatRecord rec = new FormatRecord(maxformatid, formatString);
int pos = 0;
- while ( pos < records.size() && records.get( pos ).getSid() != FormatRecord.sid )
+ while ( pos < records.size() && records.get( pos ).getSid() != FormatRecord.sid ) {
pos++;
+ }
pos += formats.size();
formats.add( rec );
records.add( pos, rec );
@@ -2226,8 +2263,9 @@ public final class InternalWorkbook {
int matches = 0;
for (Record record : records) {
if (record.getSid() == sid) {
- if (matches++ == pos)
+ if (matches++ == pos) {
return record;
+ }
}
}
return null;
@@ -2266,7 +2304,9 @@ public final class InternalWorkbook {
Record rec = records.get(palettePos);
if (rec instanceof PaletteRecord) {
palette = (PaletteRecord) rec;
- } else throw new RuntimeException("InternalError: Expected PaletteRecord but got a '"+rec+"'");
+ } else {
+ throw new RuntimeException("InternalError: Expected PaletteRecord but got a '"+rec+"'");
+ }
}
else
{
@@ -2316,7 +2356,9 @@ public final class InternalWorkbook {
drawingManager = new DrawingManager2(dgg);
if(bStore != null){
for(EscherRecord bs : bStore.getChildRecords()){
- if(bs instanceof EscherBSERecord) escherBSERecords.add((EscherBSERecord)bs);
+ if(bs instanceof EscherBSERecord) {
+ escherBSERecords.add((EscherBSERecord)bs);
+ }
}
}
return drawingManager;
@@ -2344,7 +2386,9 @@ public final class InternalWorkbook {
drawingManager = new DrawingManager2(dgg);
if(bStore != null){
for(EscherRecord bs : bStore.getChildRecords()){
- if(bs instanceof EscherBSERecord) escherBSERecords.add((EscherBSERecord)bs);
+ if(bs instanceof EscherBSERecord) {
+ escherBSERecords.add((EscherBSERecord)bs);
+ }
}
}
}
@@ -2395,8 +2439,9 @@ public final class InternalWorkbook {
splitMenuColors.setColor4(0x100000F7);
dggContainer.addChildRecord(dgg);
- if (bstoreContainer != null)
+ if (bstoreContainer != null) {
dggContainer.addChildRecord( bstoreContainer );
+ }
dggContainer.addChildRecord(opt);
dggContainer.addChildRecord(splitMenuColors);
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java b/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
index 542ee2210b..e6f5b91d56 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFCellStyle.java
@@ -26,6 +26,7 @@ import org.apache.poi.hssf.record.FontRecord;
import org.apache.poi.hssf.record.FormatRecord;
import org.apache.poi.hssf.record.StyleRecord;
import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.FillPatternType;
@@ -112,6 +113,7 @@ public final class HSSFCellStyle implements CellStyle {
// avoid multi-threading issues when different workbooks are accessed in
// multiple threads at the same time
private static final ThreadLocal<Short> lastDateFormat = new ThreadLocal<Short>() {
+ @Override
protected Short initialValue() {
return Short.MIN_VALUE;
}
@@ -273,6 +275,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see #ALIGN_CENTER_SELECTION
* @deprecated POI 3.15 beta 3. Use {@link #setAlignment(HorizontalAlignment)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setAlignment(short align)
@@ -303,6 +306,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see #ALIGN_CENTER_SELECTION
* @deprecated POI 3.15 beta 3. Use {@link #getAlignmentEnum()} instead.
*/
+ @Deprecated
@Override
public short getAlignment()
{
@@ -349,6 +353,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see VerticalAlignment
* @deprecated POI 3.15 beta 3. Use {@link #setVerticalAlignment(VerticalAlignment)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setVerticalAlignment(short align)
@@ -375,6 +380,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see VerticalAlignment
* @deprecated POI 3.15 beta 3. Use {@link #getVerticalAlignmentEnum()} instead.
*/
+ @Deprecated
@Override
public short getVerticalAlignment()
{
@@ -480,6 +486,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see #BORDER_SLANTED_DASH_DOT
* @deprecated 3.15 beta 2. Use {@link HSSFCellStyle#setBorderLeft(BorderStyle)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setBorderLeft(short border)
@@ -504,6 +511,7 @@ public final class HSSFCellStyle implements CellStyle {
* @return border type
* @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use {@link #getBorderLeftEnum()}.
*/
+ @Deprecated
@Override
public short getBorderLeft()
{
@@ -539,6 +547,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see #BORDER_SLANTED_DASH_DOT
* @deprecated 3.15 beta 2. Use {@link HSSFCellStyle#setBorderRight(BorderStyle)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setBorderRight(short border)
@@ -563,6 +572,7 @@ public final class HSSFCellStyle implements CellStyle {
* @return border type
* @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use {@link #getBorderRightEnum()}.
*/
+ @Deprecated
@Override
public short getBorderRight()
{
@@ -598,6 +608,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see #BORDER_SLANTED_DASH_DOT
* @deprecated 3.15 beta 2. Use {@link HSSFCellStyle#setBorderTop(BorderStyle)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setBorderTop(short border)
@@ -622,6 +633,7 @@ public final class HSSFCellStyle implements CellStyle {
* @return border type
* @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use {@link #getBorderTopEnum()}.
*/
+ @Deprecated
@Override
public short getBorderTop()
{
@@ -657,6 +669,7 @@ public final class HSSFCellStyle implements CellStyle {
* @see #BORDER_SLANTED_DASH_DOT
* @deprecated 3.15 beta 2. Use {@link HSSFCellStyle#setBorderBottom(BorderStyle)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setBorderBottom(short border)
@@ -681,6 +694,7 @@ public final class HSSFCellStyle implements CellStyle {
* @return border type
* @deprecated POI 3.15. Will return a BorderStyle enum in the future. Use {@link #getBorderBottomEnum()}.
*/
+ @Deprecated
@Override
public short getBorderBottom()
{
@@ -806,6 +820,7 @@ public final class HSSFCellStyle implements CellStyle {
* @param fp fill pattern (set to 1 to fill w/foreground color)
* @deprecated POI 3.15 beta 3. Use {@link #setFillPattern(FillPatternType)} instead.
*/
+ @Deprecated
@Removal(version="3.17")
@Override
public void setFillPattern(short fp)
@@ -830,6 +845,7 @@ public final class HSSFCellStyle implements CellStyle {
* @return fill pattern
* @deprecated POI 3.15 beta 3. This method will return {@link FillPatternType} in the future. Use {@link #setFillPattern(FillPatternType)} instead.
*/
+ @Deprecated
@Override
public short getFillPattern()
{
@@ -857,16 +873,20 @@ public final class HSSFCellStyle implements CellStyle {
* <p>0x40 0xSOMETHING</p>
*/
private void checkDefaultBackgroundFills() {
- if (_format.getFillForeground() == org.apache.poi.hssf.util.HSSFColor.AUTOMATIC.index) {
- //JMH: Why +1, hell why not. I guess it made some sense to someone at the time. Doesnt
- //to me now.... But experience has shown that when the fore is set to AUTOMATIC then the
- //background needs to be incremented......
- if (_format.getFillBackground() != (org.apache.poi.hssf.util.HSSFColor.AUTOMATIC.index+1))
- setFillBackgroundColor((short)(org.apache.poi.hssf.util.HSSFColor.AUTOMATIC.index+1));
- } else if (_format.getFillBackground() == org.apache.poi.hssf.util.HSSFColor.AUTOMATIC.index+1)
- //Now if the forground changes to a non-AUTOMATIC color the background resets itself!!!
- if (_format.getFillForeground() != org.apache.poi.hssf.util.HSSFColor.AUTOMATIC.index)
- setFillBackgroundColor(org.apache.poi.hssf.util.HSSFColor.AUTOMATIC.index);
+ final short autoIdx = HSSFColorPredefined.AUTOMATIC.getIndex();
+ if (_format.getFillForeground() == autoIdx) {
+ //JMH: Why +1, hell why not. I guess it made some sense to someone at the time. Doesnt
+ //to me now.... But experience has shown that when the fore is set to AUTOMATIC then the
+ //background needs to be incremented......
+ if (_format.getFillBackground() != autoIdx+1) {
+ setFillBackgroundColor((short)(autoIdx+1));
+ }
+ } else if (_format.getFillBackground() == autoIdx+1) {
+ //Now if the forground changes to a non-AUTOMATIC color the background resets itself!!!
+ if (_format.getFillForeground() != autoIdx) {
+ setFillBackgroundColor(autoIdx);
+ }
+ }
}
/**
@@ -909,13 +929,13 @@ public final class HSSFCellStyle implements CellStyle {
* @return fill color
*/
@Override
- public short getFillBackgroundColor()
- {
+ public short getFillBackgroundColor() {
+ final short autoIndex = HSSFColorPredefined.AUTOMATIC.getIndex();
short result = _format.getFillBackground();
//JMH: Do this ridiculous conversion, and let HSSFCellStyle
//internally migrate back and forth
- if (result == (HSSFColor.AUTOMATIC.index+1)) {
- return HSSFColor.AUTOMATIC.index;
+ if (result == autoIndex+1) {
+ return autoIndex;
}
return result;
}
@@ -1117,17 +1137,24 @@ public final class HSSFCellStyle implements CellStyle {
@Override
public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null) return false;
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
if (obj instanceof HSSFCellStyle) {
final HSSFCellStyle other = (HSSFCellStyle) obj;
if (_format == null) {
- if (other._format != null)
+ if (other._format != null) {
return false;
- } else if (!_format.equals(other._format))
+ }
+ } else if (!_format.equals(other._format)) {
return false;
- if (_index != other._index)
+ }
+ if (_index != other._index) {
return false;
+ }
return true;
}
return false;
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFPalette.java b/src/java/org/apache/poi/hssf/usermodel/HSSFPalette.java
index 0d754da671..7aeabe92c4 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFPalette.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFPalette.java
@@ -21,6 +21,7 @@ import java.util.Locale;
import org.apache.poi.hssf.record.PaletteRecord;
import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
/**
* Represents a workbook color palette.
@@ -45,16 +46,13 @@ public final class HSSFPalette {
public HSSFColor getColor(short index)
{
//Handle the special AUTOMATIC case
- if (index == HSSFColor.AUTOMATIC.index) {
- return HSSFColor.AUTOMATIC.getInstance();
+ if (index == HSSFColorPredefined.AUTOMATIC.getIndex()) {
+ return HSSFColorPredefined.AUTOMATIC.getColor();
}
byte[] b = _palette.getColor(index);
- if (b != null)
- {
- return new CustomColor(index, b);
- }
- return null;
+ return (b == null) ? null : new CustomColor(index, b);
}
+
/**
* Retrieves the color at a given index
*
diff --git a/src/java/org/apache/poi/hssf/util/HSSFColor.java b/src/java/org/apache/poi/hssf/util/HSSFColor.java
index 55ff46bf1e..129066fa1c 100644
--- a/src/java/org/apache/poi/hssf/util/HSSFColor.java
+++ b/src/java/org/apache/poi/hssf/util/HSSFColor.java
@@ -17,12 +17,14 @@
package org.apache.poi.hssf.util;
-import java.lang.reflect.Field;
import java.util.Collections;
+import java.util.EnumMap;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import org.apache.poi.ss.usermodel.Color;
+import org.apache.poi.util.Removal;
/**
@@ -32,15 +34,132 @@ import org.apache.poi.ss.usermodel.Color;
* Each color has an index (for the standard palette in Excel (tm) ),
* native (RGB) triplet and string triplet. The string triplet is as the
* color would be represented by Gnumeric. Having (string) this here is a bit of a
- * collusion of function between HSSF and the HSSFSerializer but I think its
+ * collision of function between HSSF and the HSSFSerializer but I think its
* a reasonable one in this case.
*/
public class HSSFColor implements Color {
- private static Map<Integer,HSSFColor> indexHash;
+
+ private static Map<Integer,HSSFColor> indexHash;
+ private static Map<HSSFColorPredefined,HSSFColor> enumList;
+
+ private java.awt.Color color;
+ private int index;
+ private int index2;
+
+ /**
+ * Predefined HSSFColors with their given palette index (and an optional 2nd index)
+ *
+ * @since POI 3.16 beta 2
+ */
+ public enum HSSFColorPredefined {
+ BLACK (0x08, -1, 0x000000),
+ BROWN (0x3C, -1, 0x993300),
+ OLIVE_GREEN (0x3B, -1, 0x333300),
+ DARK_GREEN (0x3A, -1, 0x003300),
+ DARK_TEAL (0x38, -1, 0x003366),
+ DARK_BLUE (0x12, 0x20, 0x000080),
+ INDIGO (0x3E, -1, 0x333399),
+ GREY_80_PERCENT (0x3F, -1, 0x333333),
+ ORANGE (0x35, -1, 0xFF6600),
+ DARK_YELLOW (0x13, -1, 0x808000),
+ GREEN (0x11, -1, 0x008000),
+ TEAL (0x15, 0x26, 0x008080),
+ BLUE (0x0C, 0x27, 0x0000FF),
+ BLUE_GREY (0x36, -1, 0x666699),
+ GREY_50_PERCENT (0x17, -1, 0x808080),
+ RED (0x0A, -1, 0xFF0000),
+ LIGHT_ORANGE (0x34, -1, 0xFF9900),
+ LIME (0x32, -1, 0x99CC00),
+ SEA_GREEN (0x39, -1, 0x339966),
+ AQUA (0x31, -1, 0x33CCCC),
+ LIGHT_BLUE (0x30, -1, 0x3366FF),
+ VIOLET (0x14, 0x24, 0x800080),
+ GREY_40_PERCENT (0x37, -1, 0x969696),
+ PINK (0x0E, 0x21, 0xFF00FF),
+ GOLD (0x33, -1, 0xFFCC00),
+ YELLOW (0x0D, 0x22, 0xFFFF00),
+ BRIGHT_GREEN (0x0B, -1, 0x00FF00),
+ TURQUOISE (0x0F, 0x23, 0x00FFFF),
+ DARK_RED (0x10, 0x25, 0x800000),
+ SKY_BLUE (0x28, -1, 0x00CCFF),
+ PLUM (0x3D, 0x19, 0x993366),
+ GREY_25_PERCENT (0x16, -1, 0xC0C0C0),
+ ROSE (0x2D, -1, 0xFF99CC),
+ LIGHT_YELLOW (0x2B, -1, 0xFFFF99),
+ LIGHT_GREEN (0x2A, -1, 0xCCFFCC),
+ LIGHT_TURQUOISE (0x29, 0x1B, 0xCCFFFF),
+ PALE_BLUE (0x2C, -1, 0x99CCFF),
+ LAVENDER (0x2E, -1, 0xCC99FF),
+ WHITE (0x09, -1, 0xFFFFFF),
+ CORNFLOWER_BLUE (0x18, -1, 0x9999FF),
+ LEMON_CHIFFON (0x1A, -1, 0xFFFFCC),
+ MAROON (0x19, -1, 0x7F0000),
+ ORCHID (0x1C, -1, 0x660066),
+ CORAL (0x1D, -1, 0xFF8080),
+ ROYAL_BLUE (0x1E, -1, 0x0066CC),
+ LIGHT_CORNFLOWER_BLUE(0x1F, -1, 0xCCCCFF),
+ TAN (0x2F, -1, 0xFFCC99),
+
+ /**
+ * Special Default/Normal/Automatic color.<p>
+ * <i>Note:</i> This class is NOT in the default Map returned by HSSFColor.
+ * The index is a special case which is interpreted in the various setXXXColor calls.
+ */
+ AUTOMATIC (0x40, -1, 0x000000);
+
+ private HSSFColor color;
+
+ HSSFColorPredefined(int index, int index2, int rgb) {
+ this.color = new HSSFColor(index, index2, new java.awt.Color(rgb));
+ }
+
+ /**
+ * @see HSSFColor#getIndex()
+ */
+ public short getIndex() {
+ return color.getIndex();
+ }
+
+ /**
+ * @see HSSFColor#getIndex2()
+ */
+ public short getIndex2() {
+ return color.getIndex2();
+ }
+
+ /**
+ * @see HSSFColor#getTriplet()
+ */
+ public short [] getTriplet() {
+ return color.getTriplet();
+ }
+
+ /**
+ * @see HSSFColor#getHexString()
+ */
+ public String getHexString() {
+ return color.getHexString();
+ }
+
+ /**
+ * @return (a copy of) the HSSFColor assigned to the enum
+ */
+ public HSSFColor getColor() {
+ return new HSSFColor(getIndex(), getIndex2(), color.color);
+ }
+ }
+
/** Creates a new instance of HSSFColor */
- public HSSFColor()
- {
+ public HSSFColor() {
+ // automatic index
+ this(0x40, -1, java.awt.Color.BLACK);
+ }
+
+ public HSSFColor(int index, int index2, java.awt.Color color) {
+ this.index = index;
+ this.index2 = index2;
+ this.color = color;
}
/**
@@ -49,7 +168,7 @@ public class HSSFColor implements Color {
*
* @return a Map containing all colours keyed by <tt>Integer</tt> excel-style palette indexes
*/
- public final static Map<Integer,HSSFColor> getIndexHash() {
+ public static final synchronized Map<Integer,HSSFColor> getIndexHash() {
if(indexHash == null) {
indexHash = Collections.unmodifiableMap( createColorsByIndexMap() );
}
@@ -62,85 +181,27 @@ public class HSSFColor implements Color {
* the table, then call {@link #getIndexHash()} which returns a
* statically cached imuatable map of colours.
*/
- public final static Map<Integer,HSSFColor> getMutableIndexHash() {
+ public static final Map<Integer,HSSFColor> getMutableIndexHash() {
return createColorsByIndexMap();
}
private static Map<Integer,HSSFColor> createColorsByIndexMap() {
- HSSFColor[] colors = getAllColors();
- Map<Integer,HSSFColor> result = new HashMap<Integer,HSSFColor>(colors.length * 3 / 2);
-
- for (int i = 0; i < colors.length; i++) {
- HSSFColor color = colors[i];
-
- Integer index1 = Integer.valueOf(color.getIndex());
- if (result.containsKey(index1)) {
- HSSFColor prevColor = result.get(index1);
- throw new RuntimeException("Dup color index (" + index1
- + ") for colors (" + prevColor.getClass().getName()
- + "),(" + color.getClass().getName() + ")");
- }
- result.put(index1, color);
- }
+ Map<HSSFColorPredefined,HSSFColor> eList = mapEnumToColorClass();
+ Map<Integer,HSSFColor> result = new HashMap<Integer,HSSFColor>(eList.size() * 3 / 2);
- for (int i = 0; i < colors.length; i++) {
- HSSFColor color = colors[i];
- Integer index2 = getIndex2(color);
- if (index2 == null) {
- // most colors don't have a second index
- continue;
+ for (Map.Entry<HSSFColorPredefined,HSSFColor> colorRef : eList.entrySet()) {
+ Integer index1 = (int)colorRef.getKey().getIndex();
+ if (!result.containsKey(index1)) {
+ result.put(index1, colorRef.getValue());
+ }
+ Integer index2 = (int)colorRef.getKey().getIndex2();
+ if (index2 != -1 && !result.containsKey(index2)) {
+ result.put(index2, colorRef.getValue());
}
-// if (result.containsKey(index2)) {
-// if (false) { // Many of the second indexes clash
-// HSSFColor prevColor = (HSSFColor)result.get(index2);
-// throw new RuntimeException("Dup color index (" + index2
-// + ") for colors (" + prevColor.getClass().getName()
-// + "),(" + color.getClass().getName() + ")");
-// }
-// }
- result.put(index2, color);
}
return result;
}
- private static Integer getIndex2(HSSFColor color) {
-
- Field f;
- try {
- f = color.getClass().getDeclaredField("index2");
- } catch (NoSuchFieldException e) {
- // can happen because not all colors have a second index
- return null;
- }
-
- Short s;
- try {
- s = (Short) f.get(color);
- } catch (IllegalArgumentException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new RuntimeException(e);
- }
- return Integer.valueOf(s.intValue());
- }
-
- private static HSSFColor[] getAllColors() {
-
- return new HSSFColor[] {
- new BLACK(), new BROWN(), new OLIVE_GREEN(), new DARK_GREEN(),
- new DARK_TEAL(), new DARK_BLUE(), new INDIGO(), new GREY_80_PERCENT(),
- new ORANGE(), new DARK_YELLOW(), new GREEN(), new TEAL(), new BLUE(),
- new BLUE_GREY(), new GREY_50_PERCENT(), new RED(), new LIGHT_ORANGE(), new LIME(),
- new SEA_GREEN(), new AQUA(), new LIGHT_BLUE(), new VIOLET(), new GREY_40_PERCENT(),
- new PINK(), new GOLD(), new YELLOW(), new BRIGHT_GREEN(), new TURQUOISE(),
- new DARK_RED(), new SKY_BLUE(), new PLUM(), new GREY_25_PERCENT(), new ROSE(),
- new LIGHT_YELLOW(), new LIGHT_GREEN(), new LIGHT_TURQUOISE(), new PALE_BLUE(),
- new LAVENDER(), new WHITE(), new CORNFLOWER_BLUE(), new LEMON_CHIFFON(),
- new MAROON(), new ORCHID(), new CORAL(), new ROYAL_BLUE(),
- new LIGHT_CORNFLOWER_BLUE(), new TAN(),
- };
- }
-
/**
* this function returns all colors in a hastable. Its not implemented as a
* static member/staticly initialized because that would be dirty in a
@@ -156,35 +217,97 @@ public class HSSFColor implements Color {
}
private static Map<String,HSSFColor> createColorsByHexStringMap() {
- HSSFColor[] colors = getAllColors();
- Map<String,HSSFColor> result = new HashMap<String,HSSFColor>(colors.length * 3 / 2);
-
- for (int i = 0; i < colors.length; i++) {
- HSSFColor color = colors[i];
-
- String hexString = color.getHexString();
- if (result.containsKey(hexString)) {
- HSSFColor other = result.get(hexString);
- throw new RuntimeException(
- "Dup color hexString (" + hexString
- + ") for color (" + color.getClass().getName() + ") - "
- + " already taken by (" + other.getClass().getName() + ")"
- );
+ Map<HSSFColorPredefined,HSSFColor> eList = mapEnumToColorClass();
+ Map<String,HSSFColor> result = new HashMap<String,HSSFColor>(eList.size());
+
+ for (Map.Entry<HSSFColorPredefined,HSSFColor> colorRef : eList.entrySet()) {
+ String hexString = colorRef.getKey().getHexString();
+ if (!result.containsKey(hexString)) {
+ result.put(hexString, colorRef.getValue());
}
- result.put(hexString, color);
}
return result;
}
/**
- * returns color standard palette index (0x08)
+ * Maps the Enums to the HSSFColor subclasses, in cases of user code evaluating the classname
+ *
+ * @deprecated in 3.16 - remove mapping when subclasses are removed and access
+ * HSSFColorPredfined.values() directly (but exclude AUTOMATIC)
+ */
+ @Deprecated
+ @Removal(version="3.18")
+ private static synchronized Map<HSSFColorPredefined,HSSFColor> mapEnumToColorClass() {
+ if (enumList == null) {
+ enumList = new EnumMap<HSSFColorPredefined,HSSFColor>(HSSFColorPredefined.class);
+ // AUTOMATIC is not add to list
+ enumList.put(HSSFColorPredefined.BLACK, new BLACK());
+ enumList.put(HSSFColorPredefined.BROWN, new BROWN());
+ enumList.put(HSSFColorPredefined.OLIVE_GREEN, new OLIVE_GREEN());
+ enumList.put(HSSFColorPredefined.DARK_GREEN, new DARK_GREEN());
+ enumList.put(HSSFColorPredefined.DARK_TEAL, new DARK_TEAL());
+ enumList.put(HSSFColorPredefined.DARK_BLUE, new DARK_BLUE());
+ enumList.put(HSSFColorPredefined.INDIGO, new INDIGO());
+ enumList.put(HSSFColorPredefined.GREY_80_PERCENT, new GREY_80_PERCENT());
+ enumList.put(HSSFColorPredefined.ORANGE, new ORANGE());
+ enumList.put(HSSFColorPredefined.DARK_YELLOW, new DARK_YELLOW());
+ enumList.put(HSSFColorPredefined.GREEN, new GREEN());
+ enumList.put(HSSFColorPredefined.TEAL, new TEAL());
+ enumList.put(HSSFColorPredefined.BLUE, new BLUE());
+ enumList.put(HSSFColorPredefined.BLUE_GREY, new BLUE_GREY());
+ enumList.put(HSSFColorPredefined.GREY_50_PERCENT, new GREY_50_PERCENT());
+ enumList.put(HSSFColorPredefined.RED, new RED());
+ enumList.put(HSSFColorPredefined.LIGHT_ORANGE, new LIGHT_ORANGE());
+ enumList.put(HSSFColorPredefined.LIME, new LIME());
+ enumList.put(HSSFColorPredefined.SEA_GREEN, new SEA_GREEN());
+ enumList.put(HSSFColorPredefined.AQUA, new AQUA());
+ enumList.put(HSSFColorPredefined.LIGHT_BLUE, new LIGHT_BLUE());
+ enumList.put(HSSFColorPredefined.VIOLET, new VIOLET());
+ enumList.put(HSSFColorPredefined.GREY_40_PERCENT, new GREY_40_PERCENT());
+ enumList.put(HSSFColorPredefined.PINK, new PINK());
+ enumList.put(HSSFColorPredefined.GOLD, new GOLD());
+ enumList.put(HSSFColorPredefined.YELLOW, new YELLOW());
+ enumList.put(HSSFColorPredefined.BRIGHT_GREEN, new BRIGHT_GREEN());
+ enumList.put(HSSFColorPredefined.TURQUOISE, new TURQUOISE());
+ enumList.put(HSSFColorPredefined.DARK_RED, new DARK_RED());
+ enumList.put(HSSFColorPredefined.SKY_BLUE, new SKY_BLUE());
+ enumList.put(HSSFColorPredefined.PLUM, new PLUM());
+ enumList.put(HSSFColorPredefined.GREY_25_PERCENT, new GREY_25_PERCENT());
+ enumList.put(HSSFColorPredefined.ROSE, new ROSE());
+ enumList.put(HSSFColorPredefined.LIGHT_YELLOW, new LIGHT_YELLOW());
+ enumList.put(HSSFColorPredefined.LIGHT_GREEN, new LIGHT_GREEN());
+ enumList.put(HSSFColorPredefined.LIGHT_TURQUOISE, new LIGHT_TURQUOISE());
+ enumList.put(HSSFColorPredefined.PALE_BLUE, new PALE_BLUE());
+ enumList.put(HSSFColorPredefined.LAVENDER, new LAVENDER());
+ enumList.put(HSSFColorPredefined.WHITE, new WHITE());
+ enumList.put(HSSFColorPredefined.CORNFLOWER_BLUE, new CORNFLOWER_BLUE());
+ enumList.put(HSSFColorPredefined.LEMON_CHIFFON, new LEMON_CHIFFON());
+ enumList.put(HSSFColorPredefined.MAROON, new MAROON());
+ enumList.put(HSSFColorPredefined.ORCHID, new ORCHID());
+ enumList.put(HSSFColorPredefined.CORAL, new CORAL());
+ enumList.put(HSSFColorPredefined.ROYAL_BLUE, new ROYAL_BLUE());
+ enumList.put(HSSFColorPredefined.LIGHT_CORNFLOWER_BLUE, new LIGHT_CORNFLOWER_BLUE());
+ enumList.put(HSSFColorPredefined.TAN, new TAN());
+ }
+ return enumList;
+ }
+
+ /**
+ * returns color standard palette index
* @return index to the standard palette
*/
- public short getIndex()
- {
- // this will be overridden by the specific color subclass
- return BLACK.index;
+ public short getIndex() {
+ return (short)index;
+ }
+
+ /**
+ * returns alternative color standard palette index
+ * @return alternative index to the standard palette, if -1 this index is not defined
+ */
+
+ public short getIndex2() {
+ return (short)index2;
}
/**
@@ -192,10 +315,8 @@ public class HSSFColor implements Color {
* @return triplet representation like that in Excel
*/
- public short [] getTriplet()
- {
- // this will be overridden by the specific color subclass
- return BLACK.triplet;
+ public short [] getTriplet() {
+ return new short[] { (short)color.getRed(), (short)color.getGreen(), (short)color.getBlue() };
}
/**
@@ -203,12 +324,12 @@ public class HSSFColor implements Color {
* @return a hex string exactly like a gnumeric triplet
*/
- public String getHexString()
- {
- // this will be overridden by the specific color subclass
- return BLACK.hexString;
+ public String getHexString() {
+ return (Integer.toHexString(color.getRed()*0x101) + ":" +
+ Integer.toHexString(color.getGreen()*0x101) + ":" +
+ Integer.toHexString(color.getBlue()*0x101)).toUpperCase(Locale.ROOT);
}
-
+
/**
* Checked type cast <tt>color</tt> to an HSSFColor.
*
@@ -227,1491 +348,689 @@ public class HSSFColor implements Color {
}
/**
- * Class BLACK
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class BLACK
- extends HSSFColor
- {
- public final static short index = 0x8;
- public final static short[] triplet =
- {
- 0, 0, 0
- };
- public final static String hexString = "0:0:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
+ @Deprecated
+ @Removal(version="3.18")
+ private static class HSSFColorRef extends HSSFColor {
+ HSSFColorRef(HSSFColorPredefined colorEnum) {
+ super(colorEnum.getIndex(), colorEnum.getIndex2(), colorEnum.color.color);
}
}
/**
- * Class BROWN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class BROWN
- extends HSSFColor
- {
- public final static short index = 0x3c;
- public final static short[] triplet =
- {
- 153, 51, 0
- };
- public final static String hexString = "9999:3333:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class BLACK extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.BLACK;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public BLACK() { super(ref); }
}
/**
- * Class OLIVE_GREEN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public static class OLIVE_GREEN
- extends HSSFColor
- {
- public final static short index = 0x3b;
- public final static short[] triplet =
- {
- 51, 51, 0
- };
- public final static String hexString = "3333:3333:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class BROWN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.BROWN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public BROWN() { super(ref); }
}
/**
- * Class DARK_GREEN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class DARK_GREEN
- extends HSSFColor
- {
- public final static short index = 0x3a;
- public final static short[] triplet =
- {
- 0, 51, 0
- };
- public final static String hexString = "0:3333:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class OLIVE_GREEN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.OLIVE_GREEN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public OLIVE_GREEN() { super(ref); }
}
/**
- * Class DARK_TEAL
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class DARK_TEAL
- extends HSSFColor
- {
- public final static short index = 0x38;
- public final static short[] triplet =
- {
- 0, 51, 102
- };
- public final static String hexString = "0:3333:6666";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class DARK_GREEN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.DARK_GREEN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public DARK_GREEN() { super(ref); }
}
/**
- * Class DARK_BLUE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class DARK_BLUE
- extends HSSFColor
- {
- public final static short index = 0x12;
- public final static short index2 = 0x20;
- public final static short[] triplet =
- {
- 0, 0, 128
- };
- public final static String hexString = "0:0:8080";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class DARK_TEAL extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.DARK_TEAL;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public DARK_TEAL() { super(ref); }
}
/**
- * Class INDIGO
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class INDIGO
- extends HSSFColor
- {
- public final static short index = 0x3e;
- public final static short[] triplet =
- {
- 51, 51, 153
- };
- public final static String hexString = "3333:3333:9999";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class DARK_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.DARK_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public DARK_BLUE() { super(ref); }
}
/**
- * Class GREY_80_PERCENT
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class GREY_80_PERCENT
- extends HSSFColor
- {
- public final static short index = 0x3f;
- public final static short[] triplet =
- {
- 51, 51, 51
- };
- public final static String hexString = "3333:3333:3333";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class INDIGO extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.INDIGO;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public INDIGO() { super(ref); }
}
/**
- * Class DARK_RED
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class DARK_RED
- extends HSSFColor
- {
- public final static short index = 0x10;
- public final static short index2 = 0x25;
- public final static short[] triplet =
- {
- 128, 0, 0
- };
- public final static String hexString = "8080:0:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class GREY_80_PERCENT extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.GREY_80_PERCENT;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public GREY_80_PERCENT() { super(ref); }
}
/**
- * Class ORANGE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class ORANGE
- extends HSSFColor
- {
- public final static short index = 0x35;
- public final static short[] triplet =
- {
- 255, 102, 0
- };
- public final static String hexString = "FFFF:6666:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class DARK_RED extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.DARK_RED;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public DARK_RED() { super(ref); }
}
/**
- * Class DARK_YELLOW
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class DARK_YELLOW
- extends HSSFColor
- {
- public final static short index = 0x13;
- public final static short[] triplet =
- {
- 128, 128, 0
- };
- public final static String hexString = "8080:8080:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class ORANGE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.ORANGE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public ORANGE() { super(ref); }
}
/**
- * Class GREEN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class GREEN
- extends HSSFColor
- {
- public final static short index = 0x11;
- public final static short[] triplet =
- {
- 0, 128, 0
- };
- public final static String hexString = "0:8080:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class DARK_YELLOW extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.DARK_YELLOW;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public DARK_YELLOW() { super(ref); }
}
/**
- * Class TEAL
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class TEAL
- extends HSSFColor
- {
- public final static short index = 0x15;
- public final static short index2 = 0x26;
- public final static short[] triplet =
- {
- 0, 128, 128
- };
- public final static String hexString = "0:8080:8080";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class GREEN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.GREEN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public GREEN() { super(ref); }
}
/**
- * Class BLUE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class BLUE
- extends HSSFColor
- {
- public final static short index = 0xc;
- public final static short index2 = 0x27;
- public final static short[] triplet =
- {
- 0, 0, 255
- };
- public final static String hexString = "0:0:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class TEAL extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.TEAL;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public TEAL() { super(ref); }
}
/**
- * Class BLUE_GREY
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class BLUE_GREY
- extends HSSFColor
- {
- public final static short index = 0x36;
- public final static short[] triplet =
- {
- 102, 102, 153
- };
- public final static String hexString = "6666:6666:9999";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public BLUE() { super(ref); }
}
/**
- * Class GREY_50_PERCENT
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class GREY_50_PERCENT
- extends HSSFColor
- {
- public final static short index = 0x17;
- public final static short[] triplet =
- {
- 128, 128, 128
- };
- public final static String hexString = "8080:8080:8080";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class BLUE_GREY extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.BLUE_GREY;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public BLUE_GREY() { super(ref); }
}
/**
- * Class RED
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class RED
- extends HSSFColor
- {
- public final static short index = 0xa;
- public final static short[] triplet =
- {
- 255, 0, 0
- };
- public final static String hexString = "FFFF:0:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class GREY_50_PERCENT extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.GREY_50_PERCENT;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public GREY_50_PERCENT() { super(ref); }
}
/**
- * Class LIGHT_ORANGE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LIGHT_ORANGE
- extends HSSFColor
- {
- public final static short index = 0x34;
- public final static short[] triplet =
- {
- 255, 153, 0
- };
- public final static String hexString = "FFFF:9999:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class RED extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.RED;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public RED() { super(ref); }
}
/**
- * Class LIME
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LIME
- extends HSSFColor
- {
- public final static short index = 0x32;
- public final static short[] triplet =
- {
- 153, 204, 0
- };
- public final static String hexString = "9999:CCCC:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIGHT_ORANGE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIGHT_ORANGE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIGHT_ORANGE() { super(ref); }
}
/**
- * Class SEA_GREEN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class SEA_GREEN
- extends HSSFColor
- {
- public final static short index = 0x39;
- public final static short[] triplet =
- {
- 51, 153, 102
- };
- public final static String hexString = "3333:9999:6666";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIME extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIME;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIME() { super(ref); }
}
/**
- * Class AQUA
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class AQUA
- extends HSSFColor
- {
- public final static short index = 0x31;
- public final static short[] triplet =
- {
- 51, 204, 204
- };
- public final static String hexString = "3333:CCCC:CCCC";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class SEA_GREEN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.SEA_GREEN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public SEA_GREEN() { super(ref); }
}
/**
- * Class LIGHT_BLUE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LIGHT_BLUE
- extends HSSFColor
- {
- public final static short index = 0x30;
- public final static short[] triplet =
- {
- 51, 102, 255
- };
- public final static String hexString = "3333:6666:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class AQUA extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.AQUA;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public AQUA() { super(ref); }
}
/**
- * Class VIOLET
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class VIOLET
- extends HSSFColor
- {
- public final static short index = 0x14;
- public final static short index2 = 0x24;
- public final static short[] triplet =
- {
- 128, 0, 128
- };
- public final static String hexString = "8080:0:8080";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIGHT_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIGHT_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIGHT_BLUE() { super(ref); }
}
/**
- * Class GREY_40_PERCENT
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class GREY_40_PERCENT
- extends HSSFColor
- {
- public final static short index = 0x37;
- public final static short[] triplet =
- {
- 150, 150, 150
- };
- public final static String hexString = "9696:9696:9696";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class VIOLET extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.VIOLET;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public VIOLET() { super(ref); }
}
/**
- * Class PINK
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class PINK
- extends HSSFColor
- {
- public final static short index = 0xe;
- public final static short index2 = 0x21;
- public final static short[] triplet =
- {
- 255, 0, 255
- };
- public final static String hexString = "FFFF:0:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class GREY_40_PERCENT extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.GREY_40_PERCENT;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public GREY_40_PERCENT() { super(ref); }
}
/**
- * Class GOLD
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class GOLD
- extends HSSFColor
- {
- public final static short index = 0x33;
- public final static short[] triplet =
- {
- 255, 204, 0
- };
- public final static String hexString = "FFFF:CCCC:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class PINK extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.PINK;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public PINK() { super(ref); }
}
/**
- * Class YELLOW
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class YELLOW
- extends HSSFColor
- {
- public final static short index = 0xd;
- public final static short index2 = 0x22;
- public final static short[] triplet =
- {
- 255, 255, 0
- };
- public final static String hexString = "FFFF:FFFF:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class GOLD extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.GOLD;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public GOLD() { super(ref); }
}
/**
- * Class BRIGHT_GREEN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class BRIGHT_GREEN
- extends HSSFColor
- {
- public final static short index = 0xb;
- public final static short index2 = 0x23;
- public final static short[] triplet =
- {
- 0, 255, 0
- };
- public final static String hexString = "0:FFFF:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public String getHexString()
- {
- return hexString;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class YELLOW extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.YELLOW;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public YELLOW() { super(ref); }
}
/**
- * Class TURQUOISE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class TURQUOISE
- extends HSSFColor
- {
- public final static short index = 0xf;
- public final static short index2 = 0x23;
- public final static short[] triplet =
- {
- 0, 255, 255
- };
- public final static String hexString = "0:FFFF:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class BRIGHT_GREEN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.BRIGHT_GREEN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public BRIGHT_GREEN() { super(ref); }
}
/**
- * Class SKY_BLUE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class SKY_BLUE
- extends HSSFColor
- {
- public final static short index = 0x28;
- public final static short[] triplet =
- {
- 0, 204, 255
- };
- public final static String hexString = "0:CCCC:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class TURQUOISE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.TURQUOISE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public TURQUOISE() { super(ref); }
}
/**
- * Class PLUM
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class PLUM
- extends HSSFColor
- {
- public final static short index = 0x3d;
- public final static short index2 = 0x19;
- public final static short[] triplet =
- {
- 153, 51, 102
- };
- public final static String hexString = "9999:3333:6666";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class SKY_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.SKY_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public SKY_BLUE() { super(ref); }
}
/**
- * Class GREY_25_PERCENT
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class GREY_25_PERCENT
- extends HSSFColor
- {
- public final static short index = 0x16;
- public final static short[] triplet =
- {
- 192, 192, 192
- };
- public final static String hexString = "C0C0:C0C0:C0C0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class PLUM extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.PLUM;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public PLUM() { super(ref); }
}
/**
- * Class ROSE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class ROSE
- extends HSSFColor
- {
- public final static short index = 0x2d;
- public final static short[] triplet =
- {
- 255, 153, 204
- };
- public final static String hexString = "FFFF:9999:CCCC";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class GREY_25_PERCENT extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.GREY_25_PERCENT;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public GREY_25_PERCENT() { super(ref); }
}
/**
- * Class TAN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class TAN
- extends HSSFColor
- {
- public final static short index = 0x2f;
- public final static short[] triplet =
- {
- 255, 204, 153
- };
- public final static String hexString = "FFFF:CCCC:9999";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class ROSE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.ROSE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public ROSE() { super(ref); }
}
/**
- * Class LIGHT_YELLOW
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LIGHT_YELLOW
- extends HSSFColor
- {
- public final static short index = 0x2b;
- public final static short[] triplet =
- {
- 255, 255, 153
- };
- public final static String hexString = "FFFF:FFFF:9999";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class TAN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.TAN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public TAN() { super(ref); }
}
/**
- * Class LIGHT_GREEN
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LIGHT_GREEN
- extends HSSFColor
- {
- public final static short index = 0x2a;
- public final static short[] triplet =
- {
- 204, 255, 204
- };
- public final static String hexString = "CCCC:FFFF:CCCC";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIGHT_YELLOW extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIGHT_YELLOW;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIGHT_YELLOW() { super(ref); }
}
/**
- * Class LIGHT_TURQUOISE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LIGHT_TURQUOISE
- extends HSSFColor
- {
- public final static short index = 0x29;
- public final static short index2 = 0x1b;
- public final static short[] triplet =
- {
- 204, 255, 255
- };
- public final static String hexString = "CCCC:FFFF:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIGHT_GREEN extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIGHT_GREEN;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIGHT_GREEN() { super(ref); }
}
/**
- * Class PALE_BLUE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class PALE_BLUE
- extends HSSFColor
- {
- public final static short index = 0x2c;
- public final static short[] triplet =
- {
- 153, 204, 255
- };
- public final static String hexString = "9999:CCCC:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIGHT_TURQUOISE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIGHT_TURQUOISE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIGHT_TURQUOISE() { super(ref); }
}
/**
- * Class LAVENDER
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class LAVENDER
- extends HSSFColor
- {
- public final static short index = 0x2e;
- public final static short[] triplet =
- {
- 204, 153, 255
- };
- public final static String hexString = "CCCC:9999:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class PALE_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.PALE_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public PALE_BLUE() { super(ref); }
}
/**
- * Class WHITE
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
-
- public final static class WHITE
- extends HSSFColor
- {
- public final static short index = 0x9;
- public final static short[] triplet =
- {
- 255, 255, 255
- };
- public final static String hexString = "FFFF:FFFF:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LAVENDER extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LAVENDER;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LAVENDER() { super(ref); }
}
/**
- * Class CORNFLOWER_BLUE
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class CORNFLOWER_BLUE
- extends HSSFColor
- {
- public final static short index = 0x18;
- public final static short[] triplet =
- {
- 153, 153, 255
- };
- public final static String hexString = "9999:9999:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class WHITE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.WHITE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public WHITE() { super(ref); }
}
-
/**
- * Class LEMON_CHIFFON
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class LEMON_CHIFFON
- extends HSSFColor
- {
- public final static short index = 0x1a;
- public final static short[] triplet =
- {
- 255, 255, 204
- };
- public final static String hexString = "FFFF:FFFF:CCCC";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class CORNFLOWER_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.CORNFLOWER_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public CORNFLOWER_BLUE() { super(ref); }
}
/**
- * Class MAROON
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class MAROON
- extends HSSFColor
- {
- public final static short index = 0x19;
- public final static short[] triplet =
- {
- 127, 0, 0
- };
- public final static String hexString = "8000:0:0";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LEMON_CHIFFON extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LEMON_CHIFFON;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LEMON_CHIFFON() { super(ref); }
}
/**
- * Class ORCHID
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class ORCHID
- extends HSSFColor
- {
- public final static short index = 0x1c;
- public final static short[] triplet =
- {
- 102, 0, 102
- };
- public final static String hexString = "6666:0:6666";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class MAROON extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.MAROON;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public MAROON() { super(ref); }
}
/**
- * Class CORAL
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class CORAL
- extends HSSFColor
- {
- public final static short index = 0x1d;
- public final static short[] triplet =
- {
- 255, 128, 128
- };
- public final static String hexString = "FFFF:8080:8080";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class ORCHID extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.ORCHID;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public ORCHID() { super(ref); }
}
/**
- * Class ROYAL_BLUE
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class ROYAL_BLUE
- extends HSSFColor
- {
- public final static short index = 0x1e;
- public final static short[] triplet =
- {
- 0, 102, 204
- };
- public final static String hexString = "0:6666:CCCC";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class CORAL extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.CORAL;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public CORAL() { super(ref); }
}
/**
- * Class LIGHT_CORNFLOWER_BLUE
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class LIGHT_CORNFLOWER_BLUE
- extends HSSFColor
- {
- public final static short index = 0x1f;
- public final static short[] triplet =
- {
- 204, 204, 255
- };
- public final static String hexString = "CCCC:CCCC:FFFF";
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return triplet;
- }
-
- public String getHexString()
- {
- return hexString;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class ROYAL_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.ROYAL_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public ROYAL_BLUE() { super(ref); }
}
/**
- * Special Default/Normal/Automatic color.
- * <p><i>Note:</i> This class is NOT in the default Map returned by HSSFColor.
- * The index is a special case which is interpreted in the various setXXXColor calls.
- *
- * @author Jason
- *
+ * @deprecated use {@link HSSFColorPredefined} instead
*/
- public final static class AUTOMATIC extends HSSFColor
- {
- private static HSSFColor instance = new AUTOMATIC();
-
- public final static short index = 0x40;
-
- public short getIndex()
- {
- return index;
- }
-
- public short [] getTriplet()
- {
- return BLACK.triplet;
- }
+ @Deprecated
+ @Removal(version="3.18")
+ public static class LIGHT_CORNFLOWER_BLUE extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.LIGHT_CORNFLOWER_BLUE;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public LIGHT_CORNFLOWER_BLUE() { super(ref); }
+ }
- public String getHexString()
- {
- return BLACK.hexString;
- }
+ /**
+ * @deprecated use {@link HSSFColorPredefined} instead
+ */
+ @Deprecated
+ @Removal(version="3.18")
+ public static class AUTOMATIC extends HSSFColorRef {
+ private static final HSSFColorPredefined ref = HSSFColorPredefined.AUTOMATIC;
+ public static final short index = ref.getIndex();
+ public static final int index2 = ref.getIndex2();
+ public static final short[] triplet = ref.getTriplet();
+ public static final String hexString = ref.getHexString();
+ public AUTOMATIC() { super(ref); }
public static HSSFColor getInstance() {
- return instance;
+ return ref.color;
}
}
}
diff --git a/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java b/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java
index 3b2591e89c..acaddd0f6b 100644
--- a/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java
+++ b/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java
@@ -18,8 +18,13 @@
package org.apache.poi.hssf.record;
import static org.junit.Assert.assertArrayEquals;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.record.CFRuleBase.ComparisonOperator;
@@ -28,44 +33,49 @@ import org.apache.poi.hssf.record.cf.FontFormatting;
import org.apache.poi.hssf.record.cf.PatternFormatting;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
import org.apache.poi.ss.formula.ptg.Ptg;
import org.apache.poi.ss.formula.ptg.RefNPtg;
import org.apache.poi.ss.formula.ptg.RefPtg;
import org.apache.poi.ss.usermodel.ConditionalFormattingThreshold.RangeType;
import org.apache.poi.ss.usermodel.IconMultiStateFormatting.IconSet;
import org.apache.poi.util.LittleEndian;
+import org.junit.Test;
+
+import junit.framework.AssertionFailedError;
/**
* Tests the serialization and deserialization of the TestCFRuleRecord
* class works correctly.
*/
-@SuppressWarnings("resource")
-public final class TestCFRuleRecord extends TestCase {
- public void testConstructors () {
+public final class TestCFRuleRecord {
+ @Test
+ public void testConstructors () throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
CFRuleRecord rule1 = CFRuleRecord.create(sheet, "7");
- assertEquals(CFRuleRecord.CONDITION_TYPE_FORMULA, rule1.getConditionType());
+ assertEquals(CFRuleBase.CONDITION_TYPE_FORMULA, rule1.getConditionType());
assertEquals(ComparisonOperator.NO_COMPARISON, rule1.getComparisonOperation());
assertNotNull(rule1.getParsedExpression1());
assertSame(Ptg.EMPTY_PTG_ARRAY, rule1.getParsedExpression2());
CFRuleRecord rule2 = CFRuleRecord.create(sheet, ComparisonOperator.BETWEEN, "2", "5");
- assertEquals(CFRuleRecord.CONDITION_TYPE_CELL_VALUE_IS, rule2.getConditionType());
+ assertEquals(CFRuleBase.CONDITION_TYPE_CELL_VALUE_IS, rule2.getConditionType());
assertEquals(ComparisonOperator.BETWEEN, rule2.getComparisonOperation());
assertNotNull(rule2.getParsedExpression1());
assertNotNull(rule2.getParsedExpression2());
CFRuleRecord rule3 = CFRuleRecord.create(sheet, ComparisonOperator.EQUAL, null, null);
- assertEquals(CFRuleRecord.CONDITION_TYPE_CELL_VALUE_IS, rule3.getConditionType());
+ assertEquals(CFRuleBase.CONDITION_TYPE_CELL_VALUE_IS, rule3.getConditionType());
assertEquals(ComparisonOperator.EQUAL, rule3.getComparisonOperation());
assertSame(Ptg.EMPTY_PTG_ARRAY, rule3.getParsedExpression2());
assertSame(Ptg.EMPTY_PTG_ARRAY, rule3.getParsedExpression2());
+ workbook.close();
}
- public void testCreateCFRuleRecord() {
+ @Test
+ public void testCreateCFRuleRecord() throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
CFRuleRecord record = CFRuleRecord.create(sheet, "7");
@@ -87,13 +97,14 @@ public final class TestCFRuleRecord extends TestCase {
// Compare
assertEquals("Output size", recordData.length+4, output.length); //includes sid+recordlength
- for (int i = 0; i < recordData.length;i++)
- {
+ for (int i = 0; i < recordData.length;i++) {
assertEquals("CFRuleRecord doesn't match", recordData[i], output[i+4]);
}
+ workbook.close();
}
- public void testCreateCFRule12Record() {
+ @Test
+ public void testCreateCFRule12Record() throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
CFRule12Record record = CFRule12Record.create(sheet, "7");
@@ -115,13 +126,14 @@ public final class TestCFRuleRecord extends TestCase {
// Compare
assertEquals("Output size", recordData.length+4, output.length); //includes sid+recordlength
- for (int i = 0; i < recordData.length;i++)
- {
+ for (int i = 0; i < recordData.length;i++) {
assertEquals("CFRule12Record doesn't match", recordData[i], output[i+4]);
}
+ workbook.close();
}
- public void testCreateIconCFRule12Record() {
+ @Test
+ public void testCreateIconCFRule12Record() throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
CFRule12Record record = CFRule12Record.create(sheet, IconSet.GREY_5_ARROWS);
@@ -155,10 +167,10 @@ public final class TestCFRuleRecord extends TestCase {
// Compare
assertEquals("Output size", recordData.length+4, output.length); //includes sid+recordlength
- for (int i = 0; i < recordData.length;i++)
- {
+ for (int i = 0; i < recordData.length;i++) {
assertEquals("CFRule12Record doesn't match", recordData[i], output[i+4]);
}
+ workbook.close();
}
private void testCFRuleRecord(CFRuleRecord record) {
@@ -227,11 +239,11 @@ public final class TestCFRuleRecord extends TestCase {
}
private void testPatternFormattingAccessors(PatternFormatting patternFormatting) {
- patternFormatting.setFillBackgroundColor(HSSFColor.GREEN.index);
- assertEquals(HSSFColor.GREEN.index,patternFormatting.getFillBackgroundColor());
+ patternFormatting.setFillBackgroundColor(HSSFColorPredefined.GREEN.getIndex());
+ assertEquals(HSSFColorPredefined.GREEN.getIndex(),patternFormatting.getFillBackgroundColor());
- patternFormatting.setFillForegroundColor(HSSFColor.INDIGO.index);
- assertEquals(HSSFColor.INDIGO.index,patternFormatting.getFillForegroundColor());
+ patternFormatting.setFillForegroundColor(HSSFColorPredefined.INDIGO.getIndex());
+ assertEquals(HSSFColorPredefined.INDIGO.getIndex(),patternFormatting.getFillForegroundColor());
patternFormatting.setFillPattern(PatternFormatting.DIAMONDS);
assertEquals(PatternFormatting.DIAMONDS,patternFormatting.getFillPattern());
@@ -258,24 +270,24 @@ public final class TestCFRuleRecord extends TestCase {
borderFormatting.setBorderTop(BorderFormatting.BORDER_HAIR);
assertEquals(BorderFormatting.BORDER_HAIR, borderFormatting.getBorderTop());
- borderFormatting.setBottomBorderColor(HSSFColor.AQUA.index);
- assertEquals(HSSFColor.AQUA.index, borderFormatting.getBottomBorderColor());
+ borderFormatting.setBottomBorderColor(HSSFColorPredefined.AQUA.getIndex());
+ assertEquals(HSSFColorPredefined.AQUA.getIndex(), borderFormatting.getBottomBorderColor());
- borderFormatting.setDiagonalBorderColor(HSSFColor.RED.index);
- assertEquals(HSSFColor.RED.index, borderFormatting.getDiagonalBorderColor());
+ borderFormatting.setDiagonalBorderColor(HSSFColorPredefined.RED.getIndex());
+ assertEquals(HSSFColorPredefined.RED.getIndex(), borderFormatting.getDiagonalBorderColor());
assertFalse(borderFormatting.isForwardDiagonalOn());
borderFormatting.setForwardDiagonalOn(true);
assertTrue(borderFormatting.isForwardDiagonalOn());
- borderFormatting.setLeftBorderColor(HSSFColor.BLACK.index);
- assertEquals(HSSFColor.BLACK.index, borderFormatting.getLeftBorderColor());
+ borderFormatting.setLeftBorderColor(HSSFColorPredefined.BLACK.getIndex());
+ assertEquals(HSSFColorPredefined.BLACK.getIndex(), borderFormatting.getLeftBorderColor());
- borderFormatting.setRightBorderColor(HSSFColor.BLUE.index);
- assertEquals(HSSFColor.BLUE.index, borderFormatting.getRightBorderColor());
+ borderFormatting.setRightBorderColor(HSSFColorPredefined.BLUE.getIndex());
+ assertEquals(HSSFColorPredefined.BLUE.getIndex(), borderFormatting.getRightBorderColor());
- borderFormatting.setTopBorderColor(HSSFColor.GOLD.index);
- assertEquals(HSSFColor.GOLD.index, borderFormatting.getTopBorderColor());
+ borderFormatting.setTopBorderColor(HSSFColorPredefined.GOLD.getIndex());
+ assertEquals(HSSFColorPredefined.GOLD.getIndex(), borderFormatting.getTopBorderColor());
}
@@ -378,7 +390,8 @@ public final class TestCFRuleRecord extends TestCase {
assertTrue(fontFormatting.isUnderlineTypeModified());
}
- public void testWrite() {
+ @Test
+ public void testWrite() throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
CFRuleRecord rr = CFRuleRecord.create(sheet, ComparisonOperator.BETWEEN, "5", "10");
@@ -397,6 +410,7 @@ public final class TestCFRuleRecord extends TestCase {
assertEquals("undocumented flags should be 0000", 0, flags & 0x03C00000); // Otherwise Excel gets unhappy
// check all remaining flag bits (some are not well understood yet)
assertEquals(0x203FFFFF, flags);
+ workbook.close();
}
private static final byte[] DATA_REFN = {
@@ -413,6 +427,7 @@ public final class TestCFRuleRecord extends TestCase {
/**
* tRefN and tAreaN tokens must be preserved when re-serializing conditional format formulas
*/
+ @Test
public void testReserializeRefNTokens() {
RecordInputStream is = TestcaseRecordInputStream.create(CFRuleRecord.sid, DATA_REFN);
@@ -431,7 +446,8 @@ public final class TestCFRuleRecord extends TestCase {
TestcaseRecordInputStream.confirmRecordEncoding(CFRuleRecord.sid, DATA_REFN, data);
}
- public void testBug53691() {
+ @Test
+ public void testBug53691() throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
@@ -442,12 +458,16 @@ public final class TestCFRuleRecord extends TestCase {
byte [] serializedRecord = record.serialize();
byte [] serializedClone = clone.serialize();
assertArrayEquals(serializedRecord, serializedClone);
+ workbook.close();
}
- public void testBug57231_rewrite() {
- HSSFWorkbook wb = HSSFITestDataProvider.instance.openSampleWorkbook("57231_MixedGasReport.xls");
- assertEquals(7, wb.getNumberOfSheets());
- wb = HSSFITestDataProvider.instance.writeOutAndReadBack(wb);
- assertEquals(7, wb.getNumberOfSheets());
+ @Test
+ public void testBug57231_rewrite() throws IOException {
+ HSSFWorkbook wb1 = HSSFITestDataProvider.instance.openSampleWorkbook("57231_MixedGasReport.xls");
+ assertEquals(7, wb1.getNumberOfSheets());
+ HSSFWorkbook wb2 = HSSFITestDataProvider.instance.writeOutAndReadBack(wb1);
+ assertEquals(7, wb2.getNumberOfSheets());
+ wb2.close();
+ wb1.close();
}
}
diff --git a/src/testcases/org/apache/poi/hssf/record/TestPaletteRecord.java b/src/testcases/org/apache/poi/hssf/record/TestPaletteRecord.java
index 9fd3c2ad47..321b6e3129 100644
--- a/src/testcases/org/apache/poi/hssf/record/TestPaletteRecord.java
+++ b/src/testcases/org/apache/poi/hssf/record/TestPaletteRecord.java
@@ -27,8 +27,6 @@ import org.junit.Test;
/**
* Verifies that custom palette editing works correctly
- *
- * @author Brian Sanders (bsanders at risklabs dot com)
*/
public final class TestPaletteRecord {
@@ -46,8 +44,8 @@ public final class TestPaletteRecord {
HSSFColor c = entry.getValue();
short[] rgbTriplet = c.getTriplet();
byte[] paletteTriplet = palette.getColor((short) index);
- String msg = "Expected HSSFColor constant to match PaletteRecord at index 0x"
- + Integer.toHexString(c.getIndex());
+ String msg = "Expected HSSFColor constant to match PaletteRecord at index" + (index == c.getIndex2() ? "2" : "") + " 0x"
+ + Integer.toHexString(index);
assertEquals(msg, rgbTriplet[0], paletteTriplet[0] & 0xff);
assertEquals(msg, rgbTriplet[1], paletteTriplet[1] & 0xff);
assertEquals(msg, rgbTriplet[2], paletteTriplet[2] & 0xff);
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java
index fb2ae45431..f2f572458d 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPalette.java
@@ -18,6 +18,10 @@
package org.apache.poi.hssf.usermodel;
import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
import java.awt.Color;
import java.io.IOException;
@@ -27,21 +31,19 @@ import java.util.Map;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.record.PaletteRecord;
import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.ss.usermodel.Font;
+import org.junit.Before;
import org.junit.Test;
-import junit.framework.TestCase;
-
-/**
- * @author Brian Sanders (bsanders at risklabs dot com)
- */
-public final class TestHSSFPalette extends TestCase {
+public final class TestHSSFPalette {
private PaletteRecord _palette;
private HSSFPalette _hssfPalette;
- @Override
- public void setUp()
- {
+ @Before
+ public void setUp() {
_palette = new PaletteRecord();
_hssfPalette = new HSSFPalette(_palette);
}
@@ -49,6 +51,7 @@ public final class TestHSSFPalette extends TestCase {
/**
* Verifies that a custom palette can be created, saved, and reloaded
*/
+ @Test
public void testCustomPalette() {
//reading sample xls
HSSFWorkbook book = HSSFTestDataSamples.openSampleWorkbook("Simple.xls");
@@ -62,9 +65,9 @@ public final class TestHSSFPalette extends TestCase {
book = HSSFTestDataSamples.writeOutAndReadBack(book);
palette = book.getCustomPalette();
- HSSFColor color = palette.getColor(HSSFColor.CORAL.index); //unmodified
+ HSSFColor color = palette.getColor(HSSFColorPredefined.CORAL.getIndex()); //unmodified
assertNotNull("Unexpected null in custom palette (unmodified index)", color);
- short[] expectedRGB = HSSFColor.CORAL.triplet;
+ short[] expectedRGB = HSSFColorPredefined.CORAL.getTriplet();
short[] actualRGB = color.getTriplet();
String msg = "Expected palette position to remain unmodified";
assertEquals(msg, expectedRGB[0], actualRGB[0]);
@@ -83,6 +86,7 @@ public final class TestHSSFPalette extends TestCase {
/**
* Uses the palette from cell stylings
*/
+ @Test
public void testPaletteFromCellColours() {
HSSFWorkbook book = HSSFTestDataSamples.openSampleWorkbook("SimpleWithColours.xls");
@@ -98,8 +102,8 @@ public final class TestHSSFPalette extends TestCase {
assertEquals("I'm plain", cellA.getStringCellValue());
assertEquals(64, cellA.getCellStyle().getFillForegroundColor());
assertEquals(64, cellA.getCellStyle().getFillBackgroundColor());
- assertEquals(HSSFFont.COLOR_NORMAL, cellA.getCellStyle().getFont(book).getColor());
- assertEquals(0, cellA.getCellStyle().getFillPattern());
+ assertEquals(Font.COLOR_NORMAL, cellA.getCellStyle().getFont(book).getColor());
+ assertEquals(FillPatternType.NO_FILL, cellA.getCellStyle().getFillPatternEnum());
assertEquals("0:0:0", p.getColor((short)64).getHexString());
assertEquals(null, p.getColor((short)32767));
@@ -108,7 +112,7 @@ public final class TestHSSFPalette extends TestCase {
assertEquals(64, cellB.getCellStyle().getFillForegroundColor());
assertEquals(64, cellB.getCellStyle().getFillBackgroundColor());
assertEquals(10, cellB.getCellStyle().getFont(book).getColor());
- assertEquals(0, cellB.getCellStyle().getFillPattern());
+ assertEquals(FillPatternType.NO_FILL, cellB.getCellStyle().getFillPatternEnum());
assertEquals("0:0:0", p.getColor((short)64).getHexString());
assertEquals("FFFF:0:0", p.getColor((short)10).getHexString());
@@ -117,7 +121,7 @@ public final class TestHSSFPalette extends TestCase {
assertEquals(11, cellC.getCellStyle().getFillForegroundColor());
assertEquals(64, cellC.getCellStyle().getFillBackgroundColor());
assertEquals(10, cellC.getCellStyle().getFont(book).getColor());
- assertEquals(1, cellC.getCellStyle().getFillPattern());
+ assertEquals(FillPatternType.SOLID_FOREGROUND, cellC.getCellStyle().getFillPatternEnum());
assertEquals("0:FFFF:0", p.getColor((short)11).getHexString());
assertEquals("FFFF:0:0", p.getColor((short)10).getHexString());
@@ -126,7 +130,7 @@ public final class TestHSSFPalette extends TestCase {
assertEquals(13, cellD.getCellStyle().getFillForegroundColor());
assertEquals(64, cellD.getCellStyle().getFillBackgroundColor());
assertEquals(14, cellD.getCellStyle().getFont(book).getColor());
- assertEquals(0, cellD.getCellStyle().getFillPattern());
+ assertEquals(FillPatternType.NO_FILL, cellD.getCellStyle().getFillPatternEnum());
assertEquals("FFFF:FFFF:0", p.getColor((short)13).getHexString());
assertEquals("FFFF:0:FFFF", p.getColor((short)14).getHexString());
@@ -135,11 +139,12 @@ public final class TestHSSFPalette extends TestCase {
assertEquals(13, cellE.getCellStyle().getFillForegroundColor());
assertEquals(64, cellE.getCellStyle().getFillBackgroundColor());
assertEquals(14, cellE.getCellStyle().getFont(book).getColor());
- assertEquals(0, cellE.getCellStyle().getFillPattern());
+ assertEquals(FillPatternType.NO_FILL, cellE.getCellStyle().getFillPatternEnum());
assertEquals("FFFF:FFFF:0", p.getColor((short)13).getHexString());
assertEquals("FFFF:0:FFFF", p.getColor((short)14).getHexString());
}
+ @Test
public void testFindSimilar() throws IOException {
HSSFWorkbook book = new HSSFWorkbook();
HSSFPalette p = book.getCustomPalette();
@@ -230,6 +235,7 @@ public final class TestHSSFPalette extends TestCase {
* Verifies that the generated gnumeric-format string values match the
* hardcoded values in the HSSFColor default color palette
*/
+ @Test
public void testGnumericStrings() {
compareToDefaults(new ColorComparator() {
@Override
@@ -243,6 +249,7 @@ public final class TestHSSFPalette extends TestCase {
/**
* Verifies that the palette handles invalid palette indexes
*/
+ @Test
public void testBadIndexes() {
//too small
_hssfPalette.setColorAtIndex((short) 2, (byte) 255, (byte) 255, (byte) 255);
@@ -275,6 +282,7 @@ public final class TestHSSFPalette extends TestCase {
}
}
+ @Test
public void testAddColor() {
try
{
diff --git a/src/testcases/org/apache/poi/hssf/util/AllHSSFUtilTests.java b/src/testcases/org/apache/poi/hssf/util/AllHSSFUtilTests.java
index 6faba78461..7e71fb2de1 100644
--- a/src/testcases/org/apache/poi/hssf/util/AllHSSFUtilTests.java
+++ b/src/testcases/org/apache/poi/hssf/util/AllHSSFUtilTests.java
@@ -17,22 +17,18 @@
package org.apache.poi.hssf.util;
-import junit.framework.Test;
-import junit.framework.TestSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
/**
* Collects all tests for org.apache.poi.hssf.util.
- *
- * @author Josh Micich
*/
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+ TestAreaReference.class,
+ TestCellReference.class,
+ TestHSSFColor.class,
+ TestRKUtil.class
+})
public class AllHSSFUtilTests {
-
- public static Test suite() {
- TestSuite result = new TestSuite(AllHSSFUtilTests.class.getName());
- result.addTestSuite(TestAreaReference.class);
- // result.addTestSuite(TestCellReference.class); //converted to junit4
- result.addTestSuite(TestHSSFColor.class);
- result.addTestSuite(TestRKUtil.class);
- return result;
- }
}
diff --git a/src/testcases/org/apache/poi/hssf/util/TestHSSFColor.java b/src/testcases/org/apache/poi/hssf/util/TestHSSFColor.java
index 319a7449ec..be35ee268d 100644
--- a/src/testcases/org/apache/poi/hssf/util/TestHSSFColor.java
+++ b/src/testcases/org/apache/poi/hssf/util/TestHSSFColor.java
@@ -17,38 +17,45 @@
package org.apache.poi.hssf.util;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
import java.util.Map;
-import junit.framework.TestCase;
-/**
- * @author Nick Burch
- */
-public final class TestHSSFColor extends TestCase {
- public void testBasics() {
+import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
+import org.junit.Test;
+
+public final class TestHSSFColor {
+ @Test
+ public void testBasics() {
assertNotNull(HSSFColor.YELLOW.class);
- assertTrue(HSSFColor.YELLOW.index > 0);
- assertTrue(HSSFColor.YELLOW.index2 > 0);
+ assertTrue(HSSFColorPredefined.YELLOW.getIndex() > 0);
+ assertTrue(HSSFColorPredefined.YELLOW.getIndex2() > 0);
}
+ @Test
public void testContents() {
- assertEquals(3, HSSFColor.YELLOW.triplet.length);
- assertEquals(255, HSSFColor.YELLOW.triplet[0]);
- assertEquals(255, HSSFColor.YELLOW.triplet[1]);
- assertEquals(0, HSSFColor.YELLOW.triplet[2]);
+ short[] triplet = HSSFColorPredefined.YELLOW.getTriplet();
+ assertEquals(3, triplet.length);
+ assertEquals(255, triplet[0]);
+ assertEquals(255, triplet[1]);
+ assertEquals(0, triplet[2]);
- assertEquals("FFFF:FFFF:0", HSSFColor.YELLOW.hexString);
+ assertEquals("FFFF:FFFF:0", HSSFColorPredefined.YELLOW.getHexString());
}
+ @Test
public void testTrippletHash() {
Map<String, HSSFColor> tripplets = HSSFColor.getTripletHash();
assertEquals(
HSSFColor.MAROON.class,
- tripplets.get(HSSFColor.MAROON.hexString).getClass()
+ tripplets.get(HSSFColorPredefined.MAROON.getHexString()).getClass()
);
assertEquals(
HSSFColor.YELLOW.class,
- tripplets.get(HSSFColor.YELLOW.hexString).getClass()
+ tripplets.get(HSSFColorPredefined.YELLOW.getHexString()).getClass()
);
}
}