gpt4 book ai didi

jxpath 的 Java 枚举

转载 作者:行者123 更新时间:2023-12-01 14:53:49 32 4
gpt4 key购买 nike

我有一些 jxpath,我想将它们放入一个枚举中,我将使用映射与 JSF 页面共享,这将使它们可供 EL 作为 jxpath 的键来执行 createPathAndSetValue 操作。

然后我可以轻松填写​​模型,而无需创建大量的 getter 和 setter。像这样:

<h:inputText value="#{backingBeanMap[backingBeanMap.billingAddress_postalCode]}" />

我有这样的东西

public enum MWField {
isGiftJoin,
billingAddress_postalCode,
...
associates$3_memberInfo_membershipType_type;

public final String xpath;

MWField(){
this.xpath = name().replace('_', '/').replace("$0", "[0]")
.replace("$1", "[1]").replace("$2", "[2]")
.replace("$3", "[3]").replace("$4", "[4]")
.replace("$5", "[5]").replace("$6", "[6]")
.replace("$7", "[7]").replace("$6", "[6]")
.replace("$9", "[9]").replace("$10", "[10]");
}
}

我使用名称 isGiftJoin 或 billingAddress_postalCode 而不是大写名称,并在构造函数中用/替换 _ (因此 xpath 属性是实际的 xpath)。只要所有属性的名称中都没有 _(它们没有),我就完成了。枚举不会是“大写”,但枚举并不是真正的常量,因为 RED 是常量。这里它们是指向数据的类的实例,并且不希望以这种方式保持“常量”。

这些名字是不是太奇怪、不标准了?受制于 C 风格常量大写标准是不是很愚蠢?

最佳答案

您是否在问您是否可以为枚举命名任何您想要的名称?

当然;为什么不?使用适合您的标准。就我个人而言,我只为静态 final 保留所有大写字母,并且倾向于枚举值的类命名约定。

不是名称中下划线的忠实粉丝,但就你而言,由于你有意创建层次结构,所以我对此没有什么问题。

想知道命名路径是否真的需要枚举:是否需要在 switch 语句中使用它们(在 JDK 6 或更低版本中)?是否有理由将它们表示为字符串以外的任何东西?没有路径的名称有值(value)吗?

关于jxpath 的 Java 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510026/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com