簡體   English   中英

Scout Eclipse TablePage模板

[英]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類: TableTablePage具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM