我注意到使用标准ArchConditions以下列格式显示消息:
Class <full_class_path> does not <some_rule> in (<class_link>)但是,对于将冲突消息添加到事件的自定义条件,情况并非如此,例如:
events.add(SimpleConditionEvent.violated(item, item.getName() + " some message"));这样,就不会自动将违反类的链接附加到消息中。我想知道第一个论点(correspondingObject)实际上是用来做什么的。
这是框架中的一个bug,还是我遗漏了什么?拥有这些链接是非常有用的。我尝试在消息字符串中使用JavaDoc @链接符号,但没有效果。
发布于 2022-09-07 19:47:02
大多数域类(如JavaClass、JavaMember或JavaAccess )都实现了接口HasSourceCodeLocation,其中包含了获取源代码中位置的方法getSourceCodeLocation。然后可以使用返回的对象SourceCodeLocation通过toString方法输出位置。
例如
events.add(SimpleConditionEvent.violated(item, item.getDescription() + " is violated in " + item.getSourceCodeLocation()));会回来
Class <org.example.Dummy> is violated in (Dummy.java:0)https://stackoverflow.com/questions/73632550
复制相似问题