一个新的 java 组件,假设将预定义变量列表发送给外部方。然后,用户将能够定义他们想要通过 xml 属性文件发送的变量(一组固定的变量)
问题是:预定义变量在一个类中,并且与它一起具有业务逻辑,我无法更改或利用(外部 api 的一部分)。例如如下:
public class DataColumn implement java.io.Serializable{
public static final String _actionID = "ActionID";
public static final String _actionName = "ActionName";
public static final String _actionDesc = "ActionDescription";
public static final DataColumn ActionDesc = new DataColumn (_actionDesc);
public static final DataColumn ActionID = new DataColumn (_actionID);
public static final DataColumn ActionName = new DataColumn (_actionName);
....and about 100 other variale more
protected WebMediaReportColumn(java.lang.String value) {
_value_ = value;
_table_.put(_value_,this);
}
}
用户将在 xml 文件中定义如下:
<interface>
<fields isRequired="true">
<field>ActionID</field>
<field>ActionName</field>
<field>ActionDescription</field>
</fields>
</interface>
为了设置要发送的变量,代码如下所示:
interface.setColumns(new DataColumn[] {
DataColumn.ActionID, DataColumn.ActionName, DataColumn.ActionDesc
}
);
问题是:如何最好地编写一个可以基于用户在属性文件中定义的程序,并相应地创建 Datacolumn[] 数组? 不使用 If else 块太长且难以维护。