EntryList の使用
- 最終更新日2022/05/19
EntryList の使用
EntryList を使用すると、Bot Designer を介して任意の数のパラメーターを受け入れることができます。パラメーター構造は Automation 360 アクションで定義されます。
例: EntryList
次の例は、village pair という名前のパラメーターを作成する方法を示しています。
@BotCommand
@CommandPkg(label = "EntryList example", description = "EntryList example", icon = "sample.svg", name = "entryListExample")
public class EntryListExample {
// UI display for ENTRYLIST 1.1, the linking is done based on the ENTRYLIST title.
// This should be added as a child of the ENTRYLIST, however it should not be part of options.
// The EntryList does not need a setter or Inject as the value is provided inside the ENTRYLIST.
@Idx(index = "1.3", type = TEXT, name = "NAME")
@Pkg(label = "Name", default_value_type = DataType.STRING)
@NotEmpty
private String name;
//Linked to 1.2 through title.
@Idx(index = "1.4", type = TEXT, name = "VILLAGE")
@Pkg(label = "village", default_value_type = STRING)
private String city;
@Execute
public void setParameter(
// Add the entryList, the values are accepted as a list of values.
// Provide the column header for the tabular display of accepted entries.
// In Pkg, provide a unique title.
// Provide Idx for each option separately, this is needed to
// have the correct UI type when the entry form is presented.
// Add only columns to options, you cannot add their definitions.
@Idx(index = "1", type = ENTRYLIST, options = {
@Idx.Option(index = "1.1", pkg = @Pkg(title = "NAME", label = "Name")),
@Idx.Option(index = "1.2", pkg = @Pkg(title = "VILLAGE", label = "village")),
})
//Label that is desplayed in the UI
@Pkg(label = "Provide name value entries")
//Header of the entry form
@EntryListLabel(value = "Provide entry")
//Button label which displays the entry form
@EntryListAddButtonLabel(value = "Add entry")
//Unique rule for the column, this value is the column TITLE.
@EntryListEntryUnique(value = "NAME")
//Message to dispaly in the table when no entries are present.
@EntryListEmptyLabel(value = "No parameters added")
List<Value> entryList) {
}
EntryList の別の例を次に示します。EntryList の使用状況の値を定義しています。
//Entry list//
@Idx(index = "1", type = ENTRYLIST, options = {
@Idx.Option(index = "1.1", pkg = @Pkg(title = HEADER_ENABLED, label = "[[HEADER1]]")),
@Idx.Option(index = "1.2", pkg = @Pkg(title = HEADER_NAME, label = "[[HEADER1]]")),
@Idx.Option(index = "1.3", pkg = @Pkg(title = HEADER_VALUE, label = "[[HEARER3]]"))
})
@Pkg(label = "customHeaderslabel")
@EntryListLabel(value = "customHeaderlabel")
@EntryListAddButtonLabel(value = "add.header")
@EntryListEmptyLabel(value = "no.header")
@Inject
List<Value> customHeaders;