用枚举来作为配置

阅读更多

一个简单的需求需要自动抓取一些http request参数到上下文中,传统的做法就是写一堆过程,好一点加一个list或者map之类的容器,其实可以用枚举来做配置的:

 

public enum RequestParam {

	V("v"), API("api"), PARAMS("data"), KEY("auth"), KEYTYPE("authType"), UA(
			"ua"), TYPE("type"),TIME("t");

	private String param;

	public String getValue() {
		return param;
	}

	public void setParam(String param) {
		this.param = param;
	}

	RequestParam(String param) {
		this.setParam(param);
	}
}

 接下来要取参数就简单了:

			for (RequestParam paramEnum : RequestParam.values()) {
				try {
					BeanUtils.setProperty(request, paramEnum.getValue(),
							getParameters().getString(
									paramEnum.getValue(), ""));
				} catch (IllegalAccessException e) {
					e.printStackTrace();
				} catch (InvocationTargetException e) {
					e.printStackTrace();
				}
			}
 这个方法并不高深,但是看起来却让代码结构看起来很舒服.

你可能感兴趣的:(用枚举来作为配置)