首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jxpath的Java枚举

jxpath的Java枚举
EN

Stack Overflow用户
提问于 2013-01-25 04:22:16
回答 1查看 551关注 0票数 0

我有一些jxpath,我想把它们放在一个枚举中,我将使用一个映射与JSF页面共享,这将使它们作为jxpath的键可用于EL上进行createPathAndSetValue。

然后,我可以轻松地填充模型,而不需要创建大量的getter和setter。如下所示:

代码语言:javascript
复制
<h:inputText value="#{backingBeanMap[backingBeanMap.billingAddress_postalCode]}" />

我有这样的东西

代码语言:javascript
复制
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风格的常量大写标准是不是很愚蠢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-25 04:28:10

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

我不太喜欢名字中的下划线,但在你的例子中,既然你故意创建了一个层次结构,我就不会有太多的问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14510026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档