[英]Scout Eclipse TablePage Template
我想創建AbstractTemplatePageWithTable
作為模板。
我的問題是,當您創建模板時:
MyPageTemplateTablePage
|
---> MyTable Extends AbstractTable
或用代碼
public abstract class MyPageTemplateTablePage extends AbstractExtensiblePageWithTable<MyTable> {
@Override
protected String getConfiguredTitle() {
return TEXTS.get("bla bla");
}
public abstract class MyTable extends AbstractExtensibleTable {
}
}
但是,當我從此模板創建Page時,它將創建“僅”頁面。
@PageData(MyPageTablePageData.class)
public class MyPageTablePage extends MyPageTemplateTablePage {
@Override
protected String getConfiguredTitle() {
return TEXTS.get("MyPage");
}
}
我想要的是創建它:
@PageData(MyPageTablePageData.class)
public class MyPageTablePage extends MyPageTemplateTablePage {
@Override
protected String getConfiguredTitle() {
return TEXTS.get("MyPage");
}
@Order(10.0)
public class table extends MyPageTemplateTablePage.MyTable {
}
}
因為創建模板時,它應該是用戶友好的並提供表格。 是否有一些注解或其他東西可以說服類的偵察員創建者創建此表。
在Scout SDK中很難擁有適合所有需求的向導。 由於Scout是純Java,因此您可以根據需要組織代碼。 有2類: Table
和TablePage
具有Table
作為內部類的TablePage
是方便,但不是強制性的,特別是如果你正在准備模板。
如果您在表上有邏輯(例如常用方法或菜單或列的內部類),則建議您創建第一個Table模板:
public abstract class AbstractMyTable extends AbstractTable {
//some custom logic.
}
然后,您可以使用Generic定義TablePage模板。 您甚至可以將表限制為AbstractMyTable
類型
public abstract class AbstractMyTablePage<T extends AbstractMyTable> extends AbstractPageWithTable<T> {
//some custom logic.
}
使用此模式可能會失去一些SDK支持,但是在創建新的表格頁面時,您可以修改代碼以使用表格模板和表格頁面模板:
@PageData(XxxxTablePageData.class)
public class XxxxTablePage extends AbstractMyTablePage<Table> {
@Order(1000.0)
public class Table extends AbstractMyTable {
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.