📄 simpleformatkit.java
字号:
package com.esri.solutions.jitk.web.data.results;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
public class SimpleFormatKit implements FormatKit {
/**
* Literal to be used for formatting null values. Can be null.
*/
private String nullLiteral;
/**
* List of available formatters.
*/
private List<ValueFormat> formats;
/**
* The default format to use if no other matching formatter can be found.
*
*/
private ValueFormat defaultFormat = new DefaultValueFormat();
public SimpleFormatKit() {
this(getDefaultFormats());
}
public SimpleFormatKit(List<ValueFormat> formats) {
setFormats(formats);
}
public String getNullLiteral() {
return nullLiteral;
}
public void setNullLiteral(String nullLiteral) {
this.nullLiteral = nullLiteral;
}
public void setFormats(List<ValueFormat> formats) {
if (formats == null) {
this.formats = new ArrayList<ValueFormat>();
} else {
this.formats = formats;
}
}
public String format(Object value, Locale locale) {
if (value == null) {
// should the null literal should be locale specific?
return nullLiteral == null ? null : nullLiteral.toString();
}
for (ValueFormat format : formats) {
if (format.canFormat(value.getClass())) {
return format.format(value, locale);
}
}
return defaultFormat.format(value);
}
public String format(Object value) {
return format(value, Locale.getDefault());
}
public static List<ValueFormat> getDefaultFormats() {
List<ValueFormat> defaultFormats = new ArrayList<ValueFormat>();
defaultFormats.add(new NumberValueFormat());
defaultFormats.add(new StringValueFormat());
return Collections.unmodifiableList(defaultFormats);
}
@SuppressWarnings("unchecked")
public ValueFormat[] getFormats(Class[] types) {
ValueFormat[] formatArr = new ValueFormat[types.length];
for (int i = 0; i < types.length; i++) {
outer:
for (ValueFormat format : formats) {
if (format.canFormat(types[i])) {
formatArr[i] = format;
continue outer;
}
}
formatArr[i] = defaultFormat;
}
return formatArr;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -