1

我需要修改 Faktor-IPS 生成的代码。我已经看到了扩展属性“org.faktorips.devtools.core.artefactbuilderset”并创建了一个扩展 StandardBuilderSet 的类。

我创建了自己的构建器(MetaattributPolicyCmptClassBuilder),并通过将我的实现放在构建器映射中来扩展默认实现,如下所示:


    @Override
    protected LinkedHashMap<IBuilderKindId, IIpsArtefactBuilder> createBuilders() throws CoreException {
        LinkedHashMap<IBuilderKindId, IIpsArtefactBuilder> builders = super.createBuilders();
        
        builders.put(BuilderKindIds.POLICY_CMPT_TYPE_IMPLEMEMENTATION, new MetaattributPolicyCmptClassBuilder(false, this, getGeneratorModelContext(), getModelService()));
        
        return builders;
    }

    
}

我希望我的自定义代码(放在上面示例中的构建器列表中)被执行,但只执行标准构建器集的代码。有什么问题或必须做些什么才能使其正常工作?

4

1 回答 1

1

要让您的项目使用您的自定义构建器,请使用 XMl 标记而不是“org.faktorips.devtools.stdbuilder.ipsstdbuilderset”在 .ipsproject 文件中设置构建器集 ID

于 2020-12-17T07:07:38.787 回答