java枚举 enum用法简单示例

java枚举用法简单示例,

最近用到,向大家推荐一下,希望对大家有所帮助。


/**
* 招标任务状态枚举类(包含阶段和状态)
*
* @author Administrator
*
*/
public enum BiddingStatusEnum {

DELETE(0, "删除", "删除招标公告", false),

NEW(1, "新增", "新增招标公告", false),

PAUSE(2, "暂停", "暂停招标公告", false),

ISSUE(5, "已发布", "发布招标公告", true),

SIGNCLOSE(8, "报名截止", "投标单位报名截止", true),

FIRSTCHECK(10, "初审完成", "投标单位初审完成", false),

RESUMECHECK(12, "复审完成", "投标单位复审完成", true),

TENDERFILE(14, "招标文件上传完成", "招标文件上传完成", true),

REOPENBID(16, "二次开标", "设定二次开标的时间", false),

OPENBID(18, "已开标", "一次回标的标书下载全部完成", false),

REOPENBIDOVER(20, "已二次开标", "二次回标的标书下载全部完成", true),

EVALUATE(22, "评标", "评标完成", false),

CONFIRMBID(24, "已确定中标", "已确定中标单位", true),

PUBLISH(25, "公布中标单位", "已公布中标单位", true),

FINISH(60, "完成", "招标完成", true);

private BiddingStatusEnum(long value, String name, String comment,
boolean stageFlag) {
this.value = value;
this.name = name;
this.comment = comment;
this.stageFlag = stageFlag;

}

public static BiddingStatusEnum get(long value) {
BiddingStatusEnum mbenum = null;
for (BiddingStatusEnum benum : BiddingStatusEnum.values()) {
if (benum.getValue() == value) {
mbenum = benum;
break;
} else
continue;
}
return mbenum;
}

/**
* @author Administrator
*
* @see取得一个阶段的上一阶段对象,如果是发布阶段,则取得新增状态。
*/
public static BiddingStatusEnum getPrevStage(long value) {
BiddingStatusEnum mbenum = null;
while (null == mbenum && value > 0) {
value--;
for (BiddingStatusEnum benum : BiddingStatusEnum.values()) {
if (benum.getValue() == value && benum.isStage()) {
mbenum = benum;
break;
} else
continue;
}
}

if ((null == mbenum && value == 0))
mbenum = BiddingStatusEnum.NEW;
return mbenum;
}

/**
* @author Administrator
*
* @see取得一个阶段的下一阶段对象;如果是完成状态,则会取得他自身。
*/
public static BiddingStatusEnum getNextStage(long value) {
if (value == BiddingStatusEnum.FINISH.value)
return BiddingStatusEnum.FINISH;
BiddingStatusEnum mbenum = null;
while (null == mbenum) {
value++;
for (BiddingStatusEnum benum : BiddingStatusEnum.values()) {
if (benum.getValue() == value && benum.isStage()) {
mbenum = benum;
break;
} else
continue;
}
}
return mbenum;
}

private long value;
private String name;
private String comment;
private boolean stageFlag;// 阶段标识

public long getValue() {
return value;
}

public String getName() {
return name;
}

public String getComment() {
return comment;
}

public boolean isStage() {
return this.stageFlag;
}

@Override
public String toString() {
return "name is " + name + " value is " + value;
}

}


public enum FileTypeEnum {

TENDER_FILE(1, "招标文件", "/uploadfile/tender/"),

BID_FILE(2, "回标文件", "/uploadfile/bid/"),

REBID_FILE(3, "二次回标文件", "/uploadfile/bid/"),

EVA_TECHBID_FILE(4, "技术标评分文件", "/uploadfile/evaluate/"),

EVA_BUSSINEBID_FILE(5, "商务标评标文件", "/uploadfile/evaluate/"),

EVA_INTEGBID_FILE(6, "综合标评标文件", "/uploadfile/evaluate/");

private FileTypeEnum(long values, String name, String uploadPath) {
this.values = values;
this.name = name;
this.uploadPath = uploadPath;
}

public static FileTypeEnum get(long value) {
FileTypeEnum mbenum = null;
for (FileTypeEnum benum : FileTypeEnum.values()) {
if (benum.getValues() == value) {
mbenum = benum;
} else
continue;
}
return mbenum;
}

public static String getUploadPath(long value) {
FileTypeEnum mbenum = null;
for (FileTypeEnum benum : FileTypeEnum.values()) {
if (benum.getValues() == value) {
mbenum = benum;
} else
continue;
}
return mbenum.getUploadPath();
}

private long values;
private String name;
private String uploadPath;

public long getValues() {
return values;
}

public String getName() {
return name;
}

public String getUploadPath() {
return uploadPath;
}

@Override
public String toString() {
return "name is " + name + " value is " + values;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值