带构造成员的枚举
2016-09-12 11:02
591 查看
1.枚举类:
static enum DomainName
{
vod("vod", "vod.tvmore.com.cn"),
voduc("voduc", "voduc.tvmore.com.cn"),
passport("passport", "passport.tvmore.com.cn"),
rec("rec", "rec.tvmore.com.cn"),
api("api", "api.tvmore.com.cn"),
u("u", "u.tvmore.com.cn"),
search("search", "search.tvmore.com.cn"),
log("log", "log.moretv.com.cn"),
logupload("logupload", "logupload.tvmore.com.cn"),
openApi("openApi", "openApi.tvmore.com.cn"),
help("help", "help.tvmore.com.cn"),
uc("uc", "uc.tvmore.com.cn"),
ms("ms", "ms.tvmore.com.cn"),
danmu("danmu", "danmu.tvmore.com.cn"),
bus("bus", "bus.tvmore.com.cn"),
sports("sports", "sports.tvmore.com.cn"),
portaltest("portaltest", "portaltest.tvmore.com.cn"),
parse("parse", "parse.tvmore.com.cn"),
media("media", "media.tvmore.com.cn"),
mobile("mobile", "mobile.tvmore.com.cn"),
account("account", "account.tvmore.com.cn"),
ucserver("ucserver", "ucserver.tvmore.com.cn");
private String key;
private String domainName;
private DomainName(String key, String domainName) {
this.key = key;
this.domainName = domainName;
}
public String getUrl()
{
return "http://" + this.domainName;
}
public void setDomainName(String name) {
LogHelper.debugLog("Mid-Config", "key : " + this.key + " : set from '" + this.domainName + "' to '" + name + "'");
this.domainName = name;
}
public static DomainName getDomainNameByKey(String key) {
for (DomainName dn : values()) {
if (dn.key.equals(key)) {
return dn;
}
}
return null;
}
}
2.使用枚举构造:
public enum MychUrl
{
OtaApi("OtaApi", Config.DomainName.u, "/upgrade/Service/V2/upgrade?"),
LogUpload("LogUpload", Config.DomainName.logupload, "/Service/upload"),
Log("Log", Config.DomainName.log, "/medusalog/?"),
HelpUrl("HelpUrl", Config.DomainName.help, "/log/logUpload"),
TimeUrl("TimeUrl", Config.DomainName.api, "/Service/getDate.jsp"),
PinCode("PinCode", Config.DomainName.passport, "/web/device"),
LuaLog("LuaLog", Config.DomainName.log, "/uploadplaylog/?");
private String key;
private Config.DomainName dn;
private String end;
private MychUrl(String key, Config.DomainName dn, String end) {
this.key = key;
this.dn = dn;
this.end = end;
}
String getUrl()
{
return this.dn.getUrl() + this.end;
}
String getUrl(String path) {
return this.dn.getUrl() + path + "?";
}
static MychUrl getMoretvUrl(String key) {
for (MychUrl url : values()) {
if (url.key.equals(key))
return url;
}
return null;
}
public String getKey() {
return this.key;
}
static enum DomainName
{
vod("vod", "vod.tvmore.com.cn"),
voduc("voduc", "voduc.tvmore.com.cn"),
passport("passport", "passport.tvmore.com.cn"),
rec("rec", "rec.tvmore.com.cn"),
api("api", "api.tvmore.com.cn"),
u("u", "u.tvmore.com.cn"),
search("search", "search.tvmore.com.cn"),
log("log", "log.moretv.com.cn"),
logupload("logupload", "logupload.tvmore.com.cn"),
openApi("openApi", "openApi.tvmore.com.cn"),
help("help", "help.tvmore.com.cn"),
uc("uc", "uc.tvmore.com.cn"),
ms("ms", "ms.tvmore.com.cn"),
danmu("danmu", "danmu.tvmore.com.cn"),
bus("bus", "bus.tvmore.com.cn"),
sports("sports", "sports.tvmore.com.cn"),
portaltest("portaltest", "portaltest.tvmore.com.cn"),
parse("parse", "parse.tvmore.com.cn"),
media("media", "media.tvmore.com.cn"),
mobile("mobile", "mobile.tvmore.com.cn"),
account("account", "account.tvmore.com.cn"),
ucserver("ucserver", "ucserver.tvmore.com.cn");
private String key;
private String domainName;
private DomainName(String key, String domainName) {
this.key = key;
this.domainName = domainName;
}
public String getUrl()
{
return "http://" + this.domainName;
}
public void setDomainName(String name) {
LogHelper.debugLog("Mid-Config", "key : " + this.key + " : set from '" + this.domainName + "' to '" + name + "'");
this.domainName = name;
}
public static DomainName getDomainNameByKey(String key) {
for (DomainName dn : values()) {
if (dn.key.equals(key)) {
return dn;
}
}
return null;
}
}
2.使用枚举构造:
public enum MychUrl
{
OtaApi("OtaApi", Config.DomainName.u, "/upgrade/Service/V2/upgrade?"),
LogUpload("LogUpload", Config.DomainName.logupload, "/Service/upload"),
Log("Log", Config.DomainName.log, "/medusalog/?"),
HelpUrl("HelpUrl", Config.DomainName.help, "/log/logUpload"),
TimeUrl("TimeUrl", Config.DomainName.api, "/Service/getDate.jsp"),
PinCode("PinCode", Config.DomainName.passport, "/web/device"),
LuaLog("LuaLog", Config.DomainName.log, "/uploadplaylog/?");
private String key;
private Config.DomainName dn;
private String end;
private MychUrl(String key, Config.DomainName dn, String end) {
this.key = key;
this.dn = dn;
this.end = end;
}
String getUrl()
{
return this.dn.getUrl() + this.end;
}
String getUrl(String path) {
return this.dn.getUrl() + path + "?";
}
static MychUrl getMoretvUrl(String key) {
for (MychUrl url : values()) {
if (url.key.equals(key))
return url;
}
return null;
}
public String getKey() {
return this.key;
}
相关文章推荐
- 枚举的默认构造为第一个成员值!
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- 包含对象成员的类的构造与析构顺序
- T类构造时成员函数全赋值为0的方法
- 成员变量和构造函数执行顺序
- Java学习笔记83. 枚举的构造方法和接口
- ObjectC语言基础4—ARC、成员变量、构造方法、property
- C++入门学习:继承中的构造和析构以及同名成员情况
- 关于c++的class(偏c++11以前,构造、静态成员、const、初始化列表、友元、内联、template)
- 调用构造方法时,首先要对成员变量进行赋初始值!!
- 定义圆类Circle,数据成员有半径radius,成员函数有默认构造函数(默认半径为10)、构造函数、计算圆面积、圆周长以及输出函数,分别构造默认对象和半径为15的对象,输出各对象的周长与面积。
- 【C/C++学院】0819-/类的成员函数与const-mutable /构造与析构/拷贝构造deletedefault以及深浅拷贝/静态成员函数成员变量类在内存的存储默认参数/友元类以及友元函数
- 基类派生类构造析构函数调用顺序、成员初始化和销毁顺序
- Java -- 内部类, 成员内部类,局部内部类,匿名内部类,闭包和回调, 枚举类
- OC特有语法1—点语法,成员变量作用域,@property,id,构造方法,多文件编程
- 带构造方法的枚举
- OC特有语法1—点语法,成员变量作用域,@property,id,构造方法,多文件编程
- Java构造时成员初始化的陷阱
- 类型码,似乎是对于构造成java枚举类似的应用。