java 对象嵌套_在Java中定义嵌套类/对象/枚举结构的最佳方法是什么?

我正在开发一个

Android应用程序(Java),它通过HTTP POST使用Yamaha蓝光播放器的API.播放器具有XML格式的严格命令集.命令遵循层次结构:虽然大多数外部XML元素始终相同,但内部结构属于播放器函数的类型.例如,播放/暂停/停止功能在XML中具有相同的路径,而跳过功能具有其他父元素.您可以在下面的代码示例中看到我的意思.

public enum BD_A1010 implements YamahaCommand

{

POWER_ON ("On"),

POWER_OFF ("Network Standby"),

TRAY_OPEN ("Open"),

TRAY_CLOSE ("Close"),

PLAY ("Play"),

PAUSE ("Pause"),

STOP ("Stop"),

SKIP_REVERSE ("Rev"),

SKIP_FORWARD ("Fwd");

private String command;

private BD_A1010 (String command)

{

this.command = command;

}

public String toXml ()

{

return "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + this.command + "";

}

}

正如你所看到的,我尝试了扁平的枚举方式,它工作得很好.我可以像我一样使用我的RemoteControl类的枚举:

remoteControl.execute(BD_A1010.PLAY);

枚举的.toXml()方法返回发送给播放器所需的完整XML代码.现在这是我的问题:我需要一种更好的方法来构建Java类中的函数层次结构.我想这样使用它:

remoteControl.execute(BD_A1010.Main_Zone.Power_Control.Power.On);

就像嵌套的枚举或类一样.命令的每个级别都应该在其自身内部定义XML元素.此外,路径上的每个命令只能定义可能的子命令:例如,在Main_Zone.Play_Control之后,我可能只使用.Play或.Skip,而不是.Tray或其他任何东西.在链的末尾,我喜欢调用.toXml()来获取完整的XML命令.

在Java中将这个hiarachy定义为(嵌套)类的最佳方法是什么?应该很容易定义 – 尽可能少的代码.

稍后,应该可以合并两个或多个命令以获得如下所示的组合XML – 但这对于第一次尝试来说并不那么重要.

remoteControl.execute(

BD_A1010.Main_Zone.Power_Control.Power.On,

BD_A1010.Main_Zone.Play_Control.Skip.Rev,

BD_A1010.Main_Zone.Play_Control.Play.Pause

);

On

Rev

Pause

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值