package com.izkml.mlyun.uc.user.enums;
import java.util.*;
/**
* 编制情况枚举
* Created by qindong on 2019/3/5 0005
*/
public enum EstablishStatusEnum {
/**
* 行政编制
*/
ADMINISTRATIVE("行政编制"),
/**
* 事业编制
*/
ENTERPRISE("事业编制"),
/**
* 工勤编制
*/
WORK("工勤编制"),
/**
* 合同制
*/
CONTRACT("合同制"),
/**
* 聘用制
*/
EMPLOY("聘用制"),
/**
* 临时制
*/
TEMPORARY("临时制");
/**
* 枚举Set,包含本枚举的所以实例
*/
private static EnumSet<EstablishStatusEnum> enumSet = EnumSet.allOf(EstablishStatusEnum.class);
/**
* 描述
*/
private String description;
/**
* 获取文字描述
*
* @return 文字描述
*/
public String getDescription() {
return description;
}
/**
* 设置文字描述
*
* @param description 文字描述
*/
public void setDescription(String description) {
this.description = description;
}
/**
* 构造函数
*
* @param description 描述,不可为空
*/
EstablishStatusEnum(String description) {
if (description == null) {
throw new IllegalArgumentException("description不可为空");
}
this.description = description;
}
/**
* 根据描述获取枚举
*
* @param description 描述
* @return 枚举, 如果description为null或者找不到匹配的枚举, 返回null
*/
public static EstablishStatusEnum getByDescription(String description) {
if (description == null) {
return null;
}
for (Iterator<EstablishStatusEnum> iter = enumSet.iterator(); iter.hasNext(); ) {
EstablishStatusEnum enumObject = iter.next();
if (description.equals(enumObject.getDescription())) {
return enumObject;
}
}
return null;
}
/**
* 根据name获取枚举对象
*
* @param name
* @return
*/
public static EstablishStatusEnum getEstablishStatusEnum(String name) {
for (EstablishStatusEnum establishStatusEnum : EstablishStatusEnum.values()) {
if (establishStatusEnum.name().equals(name)) {
return establishStatusEnum;
}
}
return null;
}
public static List<Map> getEnumMap() {
List<Map> result = new ArrayList<>();
for (Iterator<EstablishStatusEnum> iter = enumSet.iterator(); iter.hasNext(); ) {
Map map = new HashMap();
EstablishStatusEnum enumObject = iter.next();
map.put("value", enumObject.toString());
map.put("name", enumObject.getDescription());
result.add(map);
}
return result;
}
public static Map<String, String> getEnumForMap() {
Map<String, String> result = new HashMap<>();
for (Iterator<EstablishStatusEnum> iter = enumSet.iterator(); iter.hasNext(); ) {
EstablishStatusEnum enumObject = iter.next();
result.put(enumObject.toString(), enumObject.getDescription());
}
return result;
}
}