Java Apache ISIS:DomainObject中的列顺序-@MemberOrder不起作用
我有以下问题: 我想对DomainObject的列进行排序,以便首先获得最重要的信息,即左。 因此,我使用了Java Apache ISIS:DomainObject中的列顺序-@MemberOrder不起作用,java,annotations,isis,Java,Annotations,Isis,我有以下问题: 我想对DomainObject的列进行排序,以便首先获得最重要的信息,即左。 因此,我使用了@MemberOrder注释,但这不起作用。我没有layout.xml,因此没有覆盖任何选项 下面是我的域对象的一些示例代码: @PersistenceCapable(identityType = IdentityType.DATASTORE, table = "jobs") @Extension(vendorName = "datanucleus", key = "datastore
@MemberOrder
注释,但这不起作用。我没有layout.xml
,因此没有覆盖任何选项
下面是我的域对象的一些示例代码:
@PersistenceCapable(identityType = IdentityType.DATASTORE, table = "jobs")
@Extension(vendorName = "datanucleus", key = "datastore", value = "store-email")
@Inheritance(strategy = InheritanceStrategy.NEW_TABLE)
@DomainObjectLayout(cssClassFa = "envelope")
public class EmailSend implements Comparable {
@PrimaryKey(column = "email_id")
@Persistent(primaryKey = "true", valueStrategy = IdGeneratorStrategy.IDENTITY, column = "email_id")
@Property(editing=Editing.DISABLED)
private int id;
@Property(editing=Editing.DISABLED)
@PropertyLayout(multiLine = 5)
@Column(name = "text", length = 65535)
@Title(sequence = "1")
private String text;
...
@MemberOrder(sequence = "1")
public int getId() {
return id;
}
@MemberOrder(sequence = "2")
public String getText() {
return text;
}
...
}
这些列的顺序是随机的,因此没有
@MemberOrder
起作用。我的代码中的错误在哪里?我注意到了几件事
@Property
仅适用于getter,而不适用于字段。我们确实支持将此注释添加到字段中,但这也是使用Project Lombok(Lombok将“移动”注释到getter)的用例。因此,您的文本属性可能显示为可编辑,即使您的意图可能是不可编辑layout.xml
,它们将为您节省大量时间并允许更复杂的布局。您可以使用框架提供的“downloadLayoutXml”mixin操作下载初始布局@MemberOrder
在这里没有得到尊重-代码片段在我看来没什么问题。但是,你可能想做的是-这是一个非常灵活的工具-提供的实现作为微调顺序的一种方式(甚至可以将属性完全省略为列,如果需要,甚至可以采用横切方式)@MemberOrder
确实存在问题并希望使用它,请在github上的测试用例应用程序中提出问题
嗯
丹