
org.monte.media.tiff.EnumValueFormatter Maven / Gradle / Ivy
/*
* @(#)EnumValueFormatter.java 1.0 2010-03-22
*
* Copyright (c) 2010 Werner Randelshofer, Goldau, Switzerland.
* All rights reserved.
*
* You may not use, copy or modify this file, except in compliance with the
* license agreement you entered into with Werner Randelshofer.
* For details see accompanying license terms.
*/
package org.monte.media.tiff;
import java.util.HashMap;
/**
* Formats integer values as an enumeration.
*
* @author Werner Randelshofer
* @version 1.0 2010-03-22 Created.
*/
public class EnumValueFormatter implements ValueFormatter {
private HashMap enumMap;
Enum eum;
/** Creates a new enumeration.
* The enumeration consists of a list of String=Integer pairs.
*/
public EnumValueFormatter(Object... enumeration) {
enumMap = new HashMap();
for (int i = 0; i < enumeration.length; i += 2) {
String value = (String) enumeration[i];
Integer key = (Integer) enumeration[i + 1];
if (enumMap.containsKey(key)) {
enumMap.put(key, enumMap.get(key)+", "+value);
} else {
enumMap.put(key, value);
}
}
}
@Override
public Object format(Object value) {
if (value instanceof Number) {
int intValue = ((Number)value).intValue();
if (enumMap.containsKey(intValue)) {
return enumMap.get(intValue);
}
}
return value;
}
@Override
public Object prettyFormat(Object value) {
if (value instanceof Number) {
int intValue = ((Number) value).intValue();
if (enumMap.containsKey(intValue)) {
return "0x" + Integer.toHexString(intValue) + " [" + enumMap.get(intValue) + "]";
}
}
return value;
}
@Override
public String descriptionFormat(Object value) {
if (value instanceof Number) {
int intValue = ((Number) value).intValue();
if (enumMap.containsKey(intValue)) {
return enumMap.get(intValue);
}
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy