@SuppressWarnings("unchecked") private <S> S convertTo(Type<S> type) { switch (type.tag()) { case PropertyType.STRING: return (S) getConverter().toString(); case PropertyType.BINARY: return (S) getConverter().toBinary(); case PropertyType.LONG: return (S) (Long) getConverter().toLong(); case PropertyType.DOUBLE: return (S) (Double) getConverter().toDouble(); case PropertyType.DATE: return (S) getConverter().toDate(); case PropertyType.BOOLEAN: return (S) (Boolean) getConverter().toBoolean(); case PropertyType.NAME: return (S) getConverter().toString(); case PropertyType.PATH: return (S) getConverter().toString(); case PropertyType.REFERENCE: return (S) getConverter().toString(); case PropertyType.WEAKREFERENCE: return (S) getConverter().toString(); case PropertyType.URI: return (S) getConverter().toString(); case PropertyType.DECIMAL: return (S) getConverter().toDecimal(); default: throw new IllegalArgumentException("Unknown type:" + type); } }
@SuppressWarnings("unchecked") private <S> S convertTo(Type<S> type) { switch (type.tag()) { case PropertyType.STRING: return (S) getConverter().toString(); case PropertyType.BINARY: return (S) getConverter().toBinary(); case PropertyType.LONG: return (S) (Long) getConverter().toLong(); case PropertyType.DOUBLE: return (S) (Double) getConverter().toDouble(); case PropertyType.DATE: return (S) getConverter().toDate(); case PropertyType.BOOLEAN: return (S) (Boolean) getConverter().toBoolean(); case PropertyType.NAME: return (S) getConverter().toString(); case PropertyType.PATH: return (S) getConverter().toString(); case PropertyType.REFERENCE: return (S) getConverter().toString(); case PropertyType.WEAKREFERENCE: return (S) getConverter().toString(); case PropertyType.URI: return (S) getConverter().toString(); case PropertyType.DECIMAL: return (S) getConverter().toDecimal(); default: throw new IllegalArgumentException("Unknown type:" + type); } }
@Override public String apply(T value) { return getConverter(value).toDate(); } });
@Override public String apply(T value) { return getConverter(value).toDate(); } });