Java源码示例:com.vaadin.flow.data.binder.ValueContext
示例1
@Override
public Result<Byte> convertToModel(String value, ValueContext context) {
Result<Number> n = convertToNumber(value, context);
return n.flatMap(number -> {
if (number == null) {
return Result.ok(null);
} else {
byte intValue = number.byteValue();
if (intValue == number.longValue()) {
// If the value of n is outside the range of long, the
// return value of longValue() is either Long.MIN_VALUE or
// Long.MAX_VALUE. The/ above comparison promotes int to
// long and thus does not need to consider wrap-around.
return Result.ok(intValue);
} else {
return Result.error(getErrorMessage(context));
}
}
});
}
示例2
@Override
public Result<Boolean> convertToModel(String value, ValueContext context) {
if (value == null) {
return Result.ok(null);
}
// Remove leading and trailing white space
value = value.trim();
Locale locale = context.getLocale().orElse(null);
if (getTrueString(locale).equals(value)) {
return Result.ok(true);
} else if (getFalseString(locale).equals(value)) {
return Result.ok(false);
} else if (value.isEmpty()) {
return Result.ok(null);
} else {
return Result.error(errorMessageProvider.apply(context));
}
}
示例3
@Override
public Result<Integer> convertToModel(String value, ValueContext context) {
Result<Number> n = convertToNumber(value, context);
return n.flatMap(number -> {
if (number == null) {
return Result.ok(null);
} else {
int intValue = number.intValue();
if (intValue == number.longValue()) {
// If the value of n is outside the range of long, the
// return value of longValue() is either Long.MIN_VALUE or
// Long.MAX_VALUE. The/ above comparison promotes int to
// long and thus does not need to consider wrap-around.
return Result.ok(intValue);
} else {
return Result.error(getErrorMessage(context));
}
}
});
}
示例4
@Override
public Result<Date> convertToModel(String value, ValueContext context) {
if (value == null) {
return Result.ok(null);
}
// Remove leading and trailing white space
value = value.trim();
ParsePosition parsePosition = new ParsePosition(0);
Date parsedValue = getFormat(context.getLocale().orElse(null))
.parse(value, parsePosition);
if (parsePosition.getIndex() != value.length()) {
return Result.error("Could not convert '" + value);
}
return Result.ok(parsedValue);
}
示例5
/**
* Convert the value to a Number using the given locale and
* {@link #getFormat(Locale)}.
*
* @param value
* The value to convert
* @param context
* The value context for conversion
* @return The converted value
*/
protected Result<Number> convertToNumber(String value,
ValueContext context) {
if (value == null) {
return Result.ok(null);
}
// Remove leading and trailing white space
value = value.trim();
// Parse and detect errors. If the full string was not used, it is
// an error.
ParsePosition parsePosition = new ParsePosition(0);
Number parsedValue = getFormat(context.getLocale().orElse(null))
.parse(value, parsePosition);
if (parsePosition.getIndex() != value.length()) {
return Result.error(getErrorMessage(context));
}
if (parsedValue == null) {
// Convert "" to the empty value
return Result.ok(emptyValue);
}
return Result.ok(parsedValue);
}
示例6
@Override
public Result<UUID> convertToModel(String value, ValueContext context) {
if (value == null) {
return Result.ok(null);
}
// Remove leading and trailing white space
value = value.trim();
// Parse string as UUID.
UUID uuid = null;
try {
uuid = UUID.fromString(value);
} catch (java.lang.IllegalArgumentException e) {
LoggerFactory.getLogger(StringToUuidConverter.class.getName()).warn(
"Unable to convert String to UUID: " + value, e);
return Result.error(this.errorMessageProvider.apply(context));
}
return Result.ok(uuid); // Return the UUID object, converted from String.
}
示例7
@Override
public Result<Integer> convertToModel(Double value, ValueContext context) {
try {
if (value == null) {
return Result.ok(null);
}
return Result.ok(value.intValue());
} catch (Exception ex) {
return Result.error(errorMessage);
}
}
示例8
@Override
public Double convertToPresentation(Integer value, ValueContext context) {
if (value == null) {
return null;
}
return Double.valueOf(value);
}
示例9
@Override
public Result<String> convertToModel(RadiusUserDto value, ValueContext context) {
if (value == null) {
return Result.ok("");
}
radiusUserDto = value;
return Result.ok(value.getUsername());
}
示例10
@Override
public RadiusUserDto convertToPresentation(String value, ValueContext context) {
if (value != null) {
radiusUserDto.setUsername(value);
}
return radiusUserDto;
}
示例11
@Override
public Result<String> convertToModel(T value, ValueContext context) {
if (value == null) {
return Result.ok("");
}
attributeDto = value;
return Result.ok(value.getName());
}
示例12
@Override
public T convertToPresentation(String value, ValueContext context) {
if (value != null) {
attributeDto.setName(value);
}
return attributeDto;
}
示例13
@Override
public Result<String> convertToModel(RadiusGroupDto value, ValueContext context) {
if (value == null) {
return Result.ok("");
}
radiusGroupDto = value;
return Result.ok(value.getName());
}
示例14
@Override
public RadiusGroupDto convertToPresentation(String value, ValueContext context) {
if (value != null) {
radiusGroupDto.setName(value);
}
return radiusGroupDto;
}
示例15
@Override
public Result<Character> convertToModel(String value, ValueContext context) {
if (value == null) {
return Result.ok(null);
}
if (value.length() > 1) {
return Result.error("Could not convert '" + value);
}
return Result.ok(value.charAt(0));
}
示例16
@Override
public String convertToPresentation(Character value, ValueContext context) {
if (value == null) {
return null;
}
return value.toString();
}
示例17
@Override
public Result<Long> convertToModel(Date value, ValueContext context) {
if (value == null) {
return Result.ok(null);
}
return Result.ok(value.getTime());
}
示例18
@Override
public Date convertToPresentation(Long value, ValueContext context) {
if (value == null) {
return null;
}
return new Date(value);
}
示例19
@Override
public String convertToPresentation(Boolean value, ValueContext context) {
if (value == null) {
return null;
}
Locale locale = context.getLocale().orElse(null);
if (value) {
return getTrueString(locale);
} else {
return getFalseString(locale);
}
}
示例20
@Override
public Result<BigInteger> convertToModel(String value,
ValueContext context) {
return convertToNumber(value, context).map(number -> {
if (number == null) {
return null;
}
// Empty value will be a BigInteger
if (number instanceof BigInteger) {
return (BigInteger) number;
}
return ((BigDecimal) number).toBigInteger();
});
}
示例21
@Override
public Result<Date> convertToModel(LocalDate localDate,
ValueContext context) {
if (localDate == null) {
return Result.ok(null);
}
return Result.ok(Date.from(localDate.atStartOfDay(zoneId).toInstant()));
}
示例22
@Override
public LocalDate convertToPresentation(Date date, ValueContext context) {
if (date == null) {
return null;
}
return Instant.ofEpochMilli(date.getTime()).atZone(zoneId)
.toLocalDate();
}
示例23
@Override
public Result<Long> convertToModel(String value, ValueContext context) {
Result<Number> n = convertToNumber(value, context);
return n.map(number -> {
if (number == null) {
return null;
} else {
return number.longValue();
}
});
}
示例24
@Override
public Result<Date> convertToModel(LocalDateTime localDate, ValueContext context) {
if (localDate == null) {
return Result.ok(null);
}
return Result.ok(Date.from(localDate.atZone(zoneId).toInstant()));
}
示例25
@Override
public LocalDateTime convertToPresentation(Date date, ValueContext context) {
if (date == null) {
return null;
}
return Instant.ofEpochMilli(date.getTime()).atZone(zoneId).toLocalDateTime();
}
示例26
@Override
public Result<Float> convertToModel(String value, ValueContext context) {
Result<Number> n = convertToNumber(value, context);
return n.map(number -> {
if (number == null) {
return null;
} else {
return number.floatValue();
}
});
}
示例27
@Override
public Result<Double> convertToModel(String value, ValueContext context) {
Result<Number> n = convertToNumber(value, context);
return n.map(number -> {
if (number == null) {
return null;
} else {
return number.doubleValue();
}
});
}
示例28
@Override
public Result<java.sql.Date> convertToModel(Date value,
ValueContext context) {
if (value == null) {
return Result.ok(null);
}
return Result.ok(new java.sql.Date(value.getTime()));
}
示例29
@Override
public Date convertToPresentation(java.sql.Date value,
ValueContext context) {
if (value == null) {
return null;
}
return new Date(value.getTime());
}
示例30
@Override
public String convertToPresentation(Date value, ValueContext context) {
if (value == null) {
return null;
}
return getFormat(context.getLocale().orElse(null)).format(value);
}