/** * Localize given <code>message</code> using current {@link LocalizationContext}, if available. * @param message Message to localize * @return Localized message */ protected String localizeMessage(Localizable message) { return (message != null) ? LocalizationContext.translate(message, true) : null; }
/** * Convert a {@link Localizable} value * @param value Value to convert * @return String value */ private static String convertLocalizable(Localizable value) { return LocalizationContext.translate(value, true); }
/** * Get the localized error messages from {@link #getErrors()}, using the context {@link LocalizationContext}, if * available. If a {@link LocalizationContext} is not available, the default message of each localizable error * message is returned. * @return the localized error messages, an empty list if none. */ default List<String> getErrorMessages() { return getErrors().stream().map(e -> LocalizationContext.translate(e, true)).collect(Collectors.toList()); }
@Override public String getCaption() { String caption = LocalizationContext.translate(property, true); if (caption == null) { return getName(); } return caption; }
/** * Get the localized error messages from {@link #getErrors()}, using the context {@link LocalizationContext}, if * available. If a {@link LocalizationContext} is not available, the default message of each localizable error * message is returned. * @return the localized error messages, an empty list if none. */ default List<String> getErrorMessages() { return getErrors().stream().map(e -> LocalizationContext.translate(e, true)).collect(Collectors.toList()); }
/** * Get the first localized error message, using the context {@link LocalizationContext}, if available. If a * {@link LocalizationContext} is not available, the default message of the first localizable error message is * returned. * @return the first localized error message, or <code>null</code> if none */ default String getErrorMessage() { return getError().map(e -> LocalizationContext.translate(e, true)).orElse(null); }
/** * Convert a {@link Boolean} value * @param value Value to convert * @return String value */ private static String convertBoolean(Boolean value) { return LocalizationContext.getCurrent().flatMap(u -> u.getDefaultBooleanLocalization(value)) .map(m -> LocalizationContext.translate(m, true)).orElse(String.valueOf(value)); }
@Override protected void localize(I instance) { super.localize(instance); if (parseErrorMessage != null) { instance.setParseErrorMessage(LocalizationContext.translate(parseErrorMessage, true)); } if (outOfRangeMessage != null) { instance.setDateOutOfRangeMessage(LocalizationContext.translate(outOfRangeMessage, true)); } }
@Override protected void localize(I instance) { super.localize(instance); if (parseErrorMessage != null) { instance.setParseErrorMessage(LocalizationContext.translate(parseErrorMessage, true)); } if (outOfRangeMessage != null) { instance.setDateOutOfRangeMessage(LocalizationContext.translate(outOfRangeMessage, true)); } }
@Override protected void localize(C instance) { super.localize(instance); if (parseErrorMessage != null) { instance.setParseErrorMessage(LocalizationContext.translate(parseErrorMessage, true)); } if (outOfRangeMessage != null) { instance.setDateOutOfRangeMessage(LocalizationContext.translate(outOfRangeMessage, true)); } }
@Override protected void localize(NumberField<T> instance) { super.localize(instance); if (inputPrompt != null) { instance.setInputPrompt(LocalizationContext.translate(inputPrompt, true)); } }
@Override protected void localize(Label instance) { super.localize(instance); if (content != null) { instance.setValue(LocalizationContext.translate(content, true)); } }
@Override protected void localize(I instance) { super.localize(instance); if (inputPrompt != null) { instance.setInputPrompt(LocalizationContext.translate(inputPrompt, true)); } }
@Override protected void localize(I instance) { super.localize(instance); if (inputPrompt != null) { instance.setPlaceholder(LocalizationContext.translate(inputPrompt, true)); } }
@Override protected void localize(SingleSelectField<T, T> instance) { super.localize(instance); if (inputPrompt != null) { getInstance().setInputPrompt(LocalizationContext.translate(inputPrompt, true)); } if (emptySelectionCaption != null) { getInstance().setEmptySelectionCaption(LocalizationContext.translate(emptySelectionCaption, true)); } }
@Override protected void localize(SingleSelectField<T, PropertyBox> instance) { super.localize(instance); if (inputPrompt != null) { getInstance().setInputPrompt(LocalizationContext.translate(inputPrompt, true)); } if (emptySelectionCaption != null) { getInstance().setEmptySelectionCaption(LocalizationContext.translate(emptySelectionCaption, true)); } }
@Override protected void localize(SingleSelectField<T, T> instance) { super.localize(instance); if (emptySelectionCaption != null) { getInstance().setEmptySelectionCaption(LocalizationContext.translate(emptySelectionCaption, true)); } }
@Override protected void localize(I instance) { super.localize(instance); if (editorSaveCaption != null) { getInstance().getGrid().setEditorSaveCaption(LocalizationContext.translate(editorSaveCaption, true)); } if (editorCancelCaption != null) { getInstance().getGrid().setEditorCancelCaption(LocalizationContext.translate(editorCancelCaption, true)); } }
@Override public ValidationResult apply(T value, ValueContext context) { try { validator.validate(value); } catch (ValidationException e) { return ValidationResult.error(e.getValidationMessages().isEmpty() ? e.getLocalizedMessage() : LocalizationContext.translate(e.getValidationMessages().get(0), true)); } return ValidationResult.ok(); }