Prepare FormulaError for both long and short codes
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1658187 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b1a6afc36a
commit
d566e3948d
@ -95,11 +95,13 @@ public enum FormulaError {
|
|||||||
*/
|
*/
|
||||||
NA(0x2A, "#N/A");
|
NA(0x2A, "#N/A");
|
||||||
|
|
||||||
private byte type;
|
private final byte type;
|
||||||
private String repr;
|
private final int longType;
|
||||||
|
private final String repr;
|
||||||
|
|
||||||
private FormulaError(int type, String repr) {
|
private FormulaError(int type, String repr) {
|
||||||
this.type = (byte) type;
|
this.type = (byte)type;
|
||||||
|
this.longType = type;
|
||||||
this.repr = repr;
|
this.repr = repr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,6 +111,12 @@ public enum FormulaError {
|
|||||||
public byte getCode() {
|
public byte getCode() {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @return long (internal) numeric code of the error
|
||||||
|
*/
|
||||||
|
public int getLongCode() {
|
||||||
|
return longType;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string representation of the error
|
* @return string representation of the error
|
||||||
@ -118,10 +126,12 @@ public enum FormulaError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Map<String, FormulaError> smap = new HashMap<String, FormulaError>();
|
private static Map<String, FormulaError> smap = new HashMap<String, FormulaError>();
|
||||||
private static Map<Byte, FormulaError> imap = new HashMap<Byte, FormulaError>();
|
private static Map<Byte, FormulaError> bmap = new HashMap<Byte, FormulaError>();
|
||||||
|
private static Map<Integer, FormulaError> imap = new HashMap<Integer, FormulaError>();
|
||||||
static{
|
static{
|
||||||
for (FormulaError error : values()) {
|
for (FormulaError error : values()) {
|
||||||
imap.put(error.getCode(), error);
|
bmap.put(error.getCode(), error);
|
||||||
|
imap.put(error.getLongCode(), error);
|
||||||
smap.put(error.getString(), error);
|
smap.put(error.getString(), error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,11 +139,17 @@ public enum FormulaError {
|
|||||||
public static final boolean isValidCode(int errorCode) {
|
public static final boolean isValidCode(int errorCode) {
|
||||||
for (FormulaError error : values()) {
|
for (FormulaError error : values()) {
|
||||||
if (error.getCode() == errorCode) return true;
|
if (error.getCode() == errorCode) return true;
|
||||||
|
if (error.getLongCode() == errorCode) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static FormulaError forInt(byte type){
|
public static FormulaError forInt(byte type){
|
||||||
|
FormulaError err = bmap.get(type);
|
||||||
|
if(err == null) throw new IllegalArgumentException("Unknown error type: " + type);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
public static FormulaError forInt(int type){
|
||||||
FormulaError err = imap.get(type);
|
FormulaError err = imap.get(type);
|
||||||
if(err == null) throw new IllegalArgumentException("Unknown error type: " + type);
|
if(err == null) throw new IllegalArgumentException("Unknown error type: " + type);
|
||||||
return err;
|
return err;
|
||||||
|
Loading…
Reference in New Issue
Block a user