我有一个 Enum 处理表中的列。它正在生产中。
public enum Column {
NAME("m_Name", "Name", "TEXT"), ADDRESS("m_Address", "Address", "TEXT");
private String value;
private String label;
private String sortType;
private Column(String value, String label, String sortType) {
this.setValue(value);
this.setLabel(label);
this.setSortType(sortType);
}
}
Run Code Online (Sandbox Code Playgroud)
我现在需要添加我需要动态的自定义列。我意识到我无法使枚举动态化。什么是替代方案?
如果您调整Column以实现interfaceand 而不是在Column其他地方使用,则interface可以使用普通类来增长动态列。
interface DbColumn {
String getLabel();
String getValue();
}
public enum Column implements DbColumn {
NAME("m_Name", "Name"), ADDRESS("m_Address", "Address");
private final String value;
private final String label;
private Column(String value, String label) {
this.value = value;
this.label = label;
}
@Override
public String getLabel() {
return label;
}
@Override
public String getValue() {
return value;
}
}
public class DynamicColumn implements DbColumn {
private final String value;
private final String label;
private DynamicColumn(String value, String label) {
this.value = value;
this.label = label;
}
@Override
public String getLabel() {
return label;
}
@Override
public String getValue() {
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6800 次 |
| 最近记录: |