下面列出了怎么用org.apache.commons.lang3.builder.Builder的API类实例代码及写法,或者点击链接到github查看源代码。
protected final void initModuleSettingsPanel(VBox panel) {
panel.getStyleClass().addAll(Style.DEAULT_CONTAINER.css());
panel.getStyleClass().addAll(Style.MODULE_CONTAINER.css());
panel.getChildren().add(footer);
footer.runButton().setOnAction(event -> {
ErrorTracker errorTracker = new ErrorTracker();
Builder<? extends AbstractParameters> builder = getBuilder(errorTracker
.andThen(s -> eventStudio().broadcast(new AddNotificationRequestEvent(NotificationType.ERROR, s,
DefaultI18nContext.getInstance().i18n("Invalid parameters")))));
if (!errorTracker.errorOnBuild) {
eventStudio().broadcast(new TaskExecutionRequestEvent(id(), builder.build()));
}
});
modulePanel.setCenter(panel);
eventStudio().addAnnotatedListeners(this);
}
@Override
protected Builder<SplitBySizeParameters> getBuilder(Consumer<String> onError) {
SplitBySizeParametersBuilder builder = new SplitBySizeParametersBuilder();
splitOptions.apply(builder, onError);
selectionPane.apply(builder, onError);
destinationDirectoryField.apply(builder, onError);
destinationPane.apply(builder, onError);
prefix.apply(builder, onError);
return builder;
}
@Override
protected Builder<SplitByOutlineLevelParameters> getBuilder(Consumer<String> onError) {
SplitByOutlineLevelParametersBuilder builder = new SplitByOutlineLevelParametersBuilder();
splitOptions.apply(builder, onError);
selectionPane.apply(builder, onError);
destinationDirectoryField.apply(builder, onError);
destinationPane.apply(builder, onError);
prefix.apply(builder, onError);
return builder;
}
@Override
protected Builder<? extends AbstractSplitByPageParameters> getBuilder(Consumer<String> onError) {
Optional<SinglePdfSourceMultipleOutputParametersBuilder<? extends AbstractSplitByPageParameters>> builder = Optional
.ofNullable(splitOptions.getBuilder(onError));
builder.ifPresent(b -> {
selectionPane.apply(b, onError);
destinationDirectoryField.apply(b, onError);
destinationPane.apply(b, onError);
prefix.apply(b, onError);
});
return builder.orElse(null);
}
/**
* @param onError
* function to be called in case of error while building the task parameters
* @return a {@link Builder} for the parameters to be used to perform a pdf manipulation
*/
protected abstract Builder<? extends AbstractParameters> getBuilder(Consumer<String> onError);