@Override public PRESENTATION convertToPresentation(MODEL value, Class<? extends PRESENTATION> targetType, Locale locale) throws ConversionException { if (value != null) { return ConversionUtils.convertNumberToTargetClass(value, targetType); } return null; }
/** * Convert this PropertySet into a {@link List} of properties. * @return List of set properties */ default List<P> asList() { return Collections.unmodifiableList(ConversionUtils.iterableAsList(this)); }
/** * Convert given char array into bytes using UTF-8 default encoding * @param source Char array to convert * @return Converted bytes */ public static byte[] toBytes(char[] source) { try { return (source != null) ? toBytes(new String(source), UTF8_ENCODING) : null; } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } }
return ConversionUtils.convertEnumValue((Class<Enum>) targetType, value); return ConversionUtils.convertNumberToTargetClass((Number) value, (Class<Number>) targetType); return ConversionUtils.toLocalDate((Date) value, UTC); return ConversionUtils.toLocalDateTime((Date) value, UTC); return ConversionUtils.toLocalTime((Date) value, UTC); return ConversionUtils.toLocalDateTime((Calendar) value); return ConversionUtils.toLocalDate((Calendar) value); return ConversionUtils.fromLocalDate((LocalDate) value, UTC); return ConversionUtils.fromLocalDateTime(((LocalDateTime) value), UTC);
return (T) ConversionUtils.convertEnumValue((Class<Enum>) targetType, value); return (T) ConversionUtils.convertNumberToTargetClass((Number) value, (Class<Number>) targetType); return (T) ConversionUtils.toLocalDate((Date) value); return (T) ConversionUtils.toLocalDateTime((Date) value); return (T) ConversionUtils.toLocalTime((Date) value);
return ConversionUtils.convertEnumValue((Class<Enum>) targetType, ordinal); } catch (@SuppressWarnings("unused") NumberFormatException e) { return ConversionUtils.convertEnumValue((Class<Enum>) targetType, value); return ConversionUtils.convertNumberToTargetClass(parsed, (Class<Number>) targetType); return ConversionUtils.convertNumberToTargetClass(parsed, (Class<Number>) targetType);
return ConversionUtils.convertStringValue((String) value, definition.getType()); return ConversionUtils.convertNumberToTargetClass((Number) value, (Class<Number>) definition.getType()); return ConversionUtils.convertEnumValue((Class<Enum>) definition.getType(), value);
datePart = ConversionUtils.toLocalDate(date); timePart = ConversionUtils.toLocalTime(date); break; case TIME: timePart = ConversionUtils.toLocalTime(date); break; case DATE: default: datePart = ConversionUtils.toLocalDate(date); break;
/** * Convert a {@link Date} value into a {@link LocalDate}, using default calendar and default time zone. * @param date Date to convert (may be null) * @return Converted {@link LocalDate}, or <code>null</code> if given date was <code>null</code> */ public static LocalDate toLocalDate(Date date) { return toLocalDate(date, null); }
/** * Convert a {@link Date} value into a {@link LocalTime}, using default calendar and default time zone. * @param date Date to convert (may be null) * @return Converted {@link LocalTime}, or <code>null</code> if given date was <code>null</code> */ public static LocalTime toLocalTime(Date date) { return toLocalTime(date, null); }
@Override public <T> T getProperty(String key, Class<T> targetType) throws IllegalArgumentException { ObjectUtils.argumentNotNull(key, "Property name must be not null"); ObjectUtils.argumentNotNull(targetType, "Property type must be not null"); String value = properties.getProperty(key); if (value != null) { return ConversionUtils.convertStringValue(value, targetType); } return null; }
try { if (TypeUtils.isEnum(type)) { return (T) ConversionUtils.convertEnumValue((Class<Enum>) type, value); return (T) ConversionUtils.convertNumberToTargetClass((Number) value, (Class<Number>) type);
@Override public LocalDate fromModel(Date value, Property<LocalDate> property) throws com.holonplatform.core.property.PropertyValueConverter.PropertyConversionException { return ConversionUtils.toLocalDate(value); }
@Override public <T> T getProperty(String key, Class<T> targetType) throws IllegalArgumentException { ObjectUtils.argumentNotNull(key, "Property name must be not null"); ObjectUtils.argumentNotNull(targetType, "Property type must be not null"); String value = System.getProperty(key); if (value != null) { return ConversionUtils.convertStringValue(value, targetType); } return null; }
@Override public MODEL convertToModel(PRESENTATION value, Class<? extends MODEL> targetType, Locale locale) throws ConversionException { if (value != null) { return ConversionUtils.convertNumberToTargetClass(value, targetType); } return null; }
/** * Build a {@link QueryFilter} with the disjunction (OR) of all given <code>filters</code> * @param <Q> Actual filter type * @param filters Filters * @return QueryFilter representing the disjunction (OR) of all given QueryFilters, or an empty optional if given * Iterable has no elements */ static <Q extends QueryFilter> Optional<QueryFilter> anyOf(Iterable<Q> filters) { final List<Q> fs = ConversionUtils.iterableAsList(filters); return fs.isEmpty() ? Optional.empty() : (fs.size() == 1) ? Optional.of(fs.get(0)) : Optional.of(new OrFilter(ConversionUtils.iterableAsList(filters))); }
/** * Convert the given Object into a byte array. * @param o the Object to convert into a byte array * @return a byte array representation of the Object, or <code>null</code> if the object was <code>null</code> */ public static byte[] toBytes(Object o) { if (o != null) { if (o instanceof byte[]) { return (byte[]) o; } if (o instanceof char[]) { return ConversionUtils.toBytes((char[]) o); } if (o instanceof Credentials) { return ((Credentials) o).getSecret(); } if (o instanceof String) { return ConversionUtils.toBytes((String) o); } } return null; }
@SuppressWarnings("unchecked") @Override public <T> T getProperty(String key, Class<T> targetType) throws IllegalArgumentException { ObjectUtils.argumentNotNull(key, "Property name must be not null"); ObjectUtils.argumentNotNull(targetType, "Property type must be not null"); Object value = properties.get(key); if (value != null) { if (TypeUtils.isAssignable(value.getClass(), targetType)) { return (T) value; } else if (TypeUtils.isString(value.getClass())) { return ConversionUtils.convertStringValue(value.toString(), targetType); } else { throw new IllegalArgumentException( "Property " + key + " type is not consistent " + "with required type: " + targetType.getName() + " (got type: " + value.getClass().getName() + ")"); } } return null; }
@Override public PRESENTATION convertToPresentation(MODEL value, ValueContext context) { if (value != null) { return ConversionUtils.convertNumberToTargetClass(value, presentationType); } return null; }
/** * Build a {@link QueryFilter} with the conjunction (AND) of all given <code>filters</code> * @param <Q> Actual filter type * @param filters Filters * @return QueryFilter representing the conjunction (AND) of all given QueryFilters, or an empty optional if given * Iterable has no elements */ static <Q extends QueryFilter> Optional<QueryFilter> allOf(Iterable<Q> filters) { final List<Q> fs = ConversionUtils.iterableAsList(filters); return fs.isEmpty() ? Optional.empty() : (fs.size() == 1) ? Optional.of(fs.get(0)) : Optional.of(new AndFilter(ConversionUtils.iterableAsList(filters))); }