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);
}