我有一个用例,其中我试图在items.xml中声明一个属性为HybrisEnumValue的新itemtype。
但是,当我尝试进行蚂蚁构建时,总是会在此属性上遇到构建错误-由于缺少HybrisEnumValue类型而导致的错误。

这是我的Items.xml条目:

 <itemtype code="xyz" generate="true" autocreate="true">
        <deployment table="xyz" typecode="1"/>
        <attributes>
            <attribute type="HybrisEnumValue" qualifier="def">
                <persistence type="property"/>
                <modifiers read="true" write="true" search="true" optional="true" />
            </attribute>

        </attributes>
    </itemtype>

最佳答案

HybrisEnumValue不是类型,它实际上是一个接口,您不能在items.xml中将其定义为对象类型。

要在模型中定义enumValue,首先需要使用enumtype标记定义枚举值。

<enumtype generate="true" code="ColorEnum" autocreate="true"
        dynamic="true">
        <value code="BLACK" />
        <value code="BLUE" />
        <value code="BROWN" />
        <value code="GREEN" />
</enumtype>


您可以选择使enumType动态还是不动态。动态意味着您也可以在运行时添加值。确保在itemType上方定义enumType。

在这里检查EnumType

现在像这样在模型中定义您的enumType。

<itemtype code="xyz" generate="true" autocreate="true">
    <deployment table="xyz" typecode="1"/>
    <attributes>
        <attribute type="ColorEnum" qualifier="color">
            <persistence type="property"/>
            <modifiers read="true" write="true" search="true" optional="true" />
        </attribute>

    </attributes>
</itemtype>


完成所有操作,它将生成实际上为implements HybrisEnumValue的ColorEnum.java。

09-12 03:06