package name.abuchen.portfolio.ui.dialogs.transactions; import java.util.ArrayList; import java.util.List; import java.util.function.Supplier; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.dialogs.TitleAreaDialog; /** * Utility class to run multiple checks and set the warning message to the * TitleAreaDialog accordingly. */ public class WarningMessages { private TitleAreaDialog dialog; private List<Supplier<String>> checks = new ArrayList<>(); public WarningMessages(TitleAreaDialog dialog) { this.dialog = dialog; } public WarningMessages add(Supplier<String> check) { this.checks.add(check); return this; } public void check() { for (Supplier<String> check : checks) { String message = check.get(); if (message != null) { dialog.setMessage(message, IMessageProvider.WARNING); return; } } dialog.setMessage(null); } }