aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
authorJaven O'Neal <onealj@apache.org>2016-04-17 03:39:21 +0000
committerJaven O'Neal <onealj@apache.org>2016-04-17 03:39:21 +0000
commit2b43c580d63c856a61740b79f2a02e78574ac323 (patch)
tree5318d8586fb3fa686d95cac3a37b8781745268cf /src/java
parentf9fd11b856042b5dce7343f99bf841f46ae751af (diff)
downloadpoi-2b43c580d63c856a61740b79f2a02e78574ac323.tar.gz
poi-2b43c580d63c856a61740b79f2a02e78574ac323.zip
bug 59340: lookup IndexedColors by index
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1739539 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java')
-rw-r--r--src/java/org/apache/poi/ss/usermodel/IndexedColors.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/java/org/apache/poi/ss/usermodel/IndexedColors.java b/src/java/org/apache/poi/ss/usermodel/IndexedColors.java
index 61d7f6818c..92ebc08a1f 100644
--- a/src/java/org/apache/poi/ss/usermodel/IndexedColors.java
+++ b/src/java/org/apache/poi/ss/usermodel/IndexedColors.java
@@ -31,6 +31,7 @@ package org.apache.poi.ss.usermodel;
*/
public enum IndexedColors {
+ // 0-7?
BLACK(8),
WHITE(9),
RED(10),
@@ -50,6 +51,7 @@ public enum IndexedColors {
CORNFLOWER_BLUE(24),
MAROON(25),
LEMON_CHIFFON(26),
+ // 27?
ORCHID(28),
CORAL(29),
ROYAL_BLUE(30),
@@ -80,6 +82,13 @@ public enum IndexedColors {
GREY_80_PERCENT(63),
AUTOMATIC(64);
+ private final static IndexedColors[] _values = new IndexedColors[65];
+ static {
+ for (IndexedColors color : values()) {
+ _values[color.index] = color;
+ }
+ }
+
public final short index;
IndexedColors(int idx){
@@ -94,4 +103,23 @@ public enum IndexedColors {
public short getIndex(){
return index;
}
+
+ /**
+ *
+ *
+ * @param index the index of the color
+ * @return the corresponding IndexedColors enum
+ * @throws IllegalArgumentException if index is not a valid IndexedColors
+ * @since 3.15-beta2
+ */
+ public static IndexedColors fromInt(int index) {
+ if (index < 0 || index >= _values.length) {
+ throw new IllegalArgumentException("Illegal IndexedColor index: " + index);
+ }
+ IndexedColors color = _values[index];
+ if (color == null) {
+ throw new IllegalArgumentException("Illegal IndexedColor index: " + index);
+ }
+ return color;
+ }
}