Updated DataExtension API Builders (markdown)

Aurora Lahtela 2022-10-30 11:07:52 +02:00
parent e050ea37f4
commit 31c513c14f
1 changed files with 19 additions and 15 deletions

@ -7,7 +7,9 @@ DataExtension Builder APIs require `DATA_EXTENSION_BUILDER_API` capability.
# 🧰 `@DataBuilderProvider` annotation
**Speciality:** Dynamic definition of providers at runtime.
**Speciality:** Allows you to add data dynamically.
Example use case: [Display user configured placeholders](https://github.com/plan-player-analytics/Extension-PlaceholderAPI/blob/master/src/main/java/net/playeranalytics/extension/placeholderapi/PlaceholderAPIExtension.java#L88-L109)
Usage:
```java
@ -42,19 +44,21 @@ builder.addValue(Boolean.class, builder.valueBuilder("...").buildBoolean(() ->
// for use with @Conditional on other provider annotations
builder.addValue(Boolean.class, builder.valueBuilder("...").buildBooleanProvidingCondition(false, "conditionName"));
// for use with @Conditional on other provider annotations
builder.addValue(Boolean.class, builder.valueBuilder("...").buildBooleanProvidingCondition(() -> false, "conditionName"));
builder.addValue(Long.class, builder.valueBuilder("...").buildNumber(1234L));
builder.addValue(Long.class, builder.valueBuilder("...").buildNumber(() -> 1234L));
builder.addValue(Double.class, builder.valueBuilder("...").buildDouble(500.52));
builder.addValue(Double.class, builder.valueBuilder("...").buildDouble(() -> 500.52));
builder.addValue(Double.class, builder.valueBuilder("...").buildPercentage(0.52));
builder.addValue(Double.class, builder.valueBuilder("...").buildPercentage(() -> 0.52));
builder.addValue(String.class, builder.valueBuilder("...").buildString("Example"));
builder.addValue(String.class, builder.valueBuilder("...").buildString(() -> "Example"));
builder.addValue(String[].class, builder.valueBuilder("...").buildGroup(new String[]{"Admin", "Moderator"}));
builder.addValue(String[].class, builder.valueBuilder("...").buildGroup(() -> new String[]{"Admin", "Moderator"}));
builder.addValue(Table.class, builder.valueBuilder("...").buildTable(Table.builder()...build(), Color.BLUE));
builder.addValue(Table.class, builder.valueBuilder("...").buildTable(() -> Table.builder()...build(), Color.BLUE));
builder.addValue(Boolean.class, builder.valueBuilder("...").buildBooleanProvidingCondition(() -> false, "conditionName"));
builder.addValue(Long.class, builder.valueBuilder("...").buildNumber(1234L));
builder.addValue(Long.class, builder.valueBuilder("...").buildNumber(() -> 1234L));
builder.addValue(Double.class, builder.valueBuilder("...").buildDouble(500.52));
builder.addValue(Double.class, builder.valueBuilder("...").buildDouble(() -> 500.52));
builder.addValue(Double.class, builder.valueBuilder("...").buildPercentage(0.52));
builder.addValue(Double.class, builder.valueBuilder("...").buildPercentage(() -> 0.52));
builder.addValue(String.class, builder.valueBuilder("...").buildString("Example"));
builder.addValue(String.class, builder.valueBuilder("...").buildString(() -> "Example"));
builder.addValue(Component.class, builder.valueBuilder("...").buildComponent(ComponentService.getInstance().fromAutoDetermine("§eExample")));
builder.addValue(Component.class, builder.valueBuilder("...").buildComponent(() -> ComponentService.getInstance().fromAutoDetermine("§eExample"))));
builder.addValue(String[].class, builder.valueBuilder("...").buildGroup(new String[]{"Admin", "Moderator"}));
builder.addValue(String[].class, builder.valueBuilder("...").buildGroup(() -> new String[]{"Admin", "Moderator"}));
builder.addValue(Table.class, builder.valueBuilder("...").buildTable(Table.builder()...build(), Color.BLUE));
builder.addValue(Table.class, builder.valueBuilder("...").buildTable(() -> Table.builder()...build(), Color.BLUE));
return builder;
```
@ -102,7 +106,7 @@ builder.valueBuilder("Example") // 50 cha
.icon("gavel", Family.SOLID, Color.RED) // https://fontawesome.com/icons
.icon(Icon.called("gavel").of(Family.SOLID).of(Color.RED).build()) // https://fontawesome.com/icons
.showInPlayerTable()
.showOnTab("tabName") // remember @TabInfo annotation
.showOnTab("tabName") // remember to add a @TabInfo annotation if using this
.formatAsDateWithYear() // for numbers
.formatAsDateWithSeconds() // for numbers
.formatAsTimeAmount() // for numbers