diff options
author | Javen O'Neal <onealj@apache.org> | 2016-04-17 03:39:21 +0000 |
---|---|---|
committer | Javen O'Neal <onealj@apache.org> | 2016-04-17 03:39:21 +0000 |
commit | 2b43c580d63c856a61740b79f2a02e78574ac323 (patch) | |
tree | 5318d8586fb3fa686d95cac3a37b8781745268cf /src/java | |
parent | f9fd11b856042b5dce7343f99bf841f46ae751af (diff) | |
download | poi-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.java | 28 |
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; + } } |