@SuppressWarnings("unchecked") private <S> S convertTo(Type<S> type, int index) { switch (type.tag()) { case PropertyType.STRING: return (S) getConverter(values.get(index)).toString(); case PropertyType.BINARY: return (S) getConverter(values.get(index)).toBinary(); case PropertyType.LONG: return (S) (Long) getConverter(values.get(index)).toLong(); case PropertyType.DOUBLE: return (S) (Double) getConverter(values.get(index)).toDouble(); case PropertyType.DATE: return (S) getConverter(values.get(index)).toString(); case PropertyType.BOOLEAN: return (S) (Boolean) getConverter(values.get(index)).toBoolean(); case PropertyType.NAME: return (S) getConverter(values.get(index)).toString(); case PropertyType.PATH: return (S) getConverter(values.get(index)).toString(); case PropertyType.REFERENCE: return (S) getConverter(values.get(index)).toString(); case PropertyType.WEAKREFERENCE: return (S) getConverter(values.get(index)).toString(); case PropertyType.URI: return (S) getConverter(values.get(index)).toString(); case PropertyType.DECIMAL: return (S) getConverter(values.get(index)).toDecimal(); default: throw new IllegalArgumentException("Unknown type:" + type); } }
@SuppressWarnings("unchecked") private <S> S convertTo(Type<S> type, int index) { switch (type.tag()) { case PropertyType.STRING: return (S) getConverter(values.get(index)).toString(); case PropertyType.BINARY: return (S) getConverter(values.get(index)).toBinary(); case PropertyType.LONG: return (S) (Long) getConverter(values.get(index)).toLong(); case PropertyType.DOUBLE: return (S) (Double) getConverter(values.get(index)).toDouble(); case PropertyType.DATE: return (S) getConverter(values.get(index)).toString(); case PropertyType.BOOLEAN: return (S) (Boolean) getConverter(values.get(index)).toBoolean(); case PropertyType.NAME: return (S) getConverter(values.get(index)).toString(); case PropertyType.PATH: return (S) getConverter(values.get(index)).toString(); case PropertyType.REFERENCE: return (S) getConverter(values.get(index)).toString(); case PropertyType.WEAKREFERENCE: return (S) getConverter(values.get(index)).toString(); case PropertyType.URI: return (S) getConverter(values.get(index)).toString(); case PropertyType.DECIMAL: return (S) getConverter(values.get(index)).toDecimal(); default: throw new IllegalArgumentException("Unknown type:" + type); } }
/** * Create a {@code PropertyState} from a string. * @param name The name of the property state * @param value The value of the property state * @param type The type of the property state * @return The new property state */ @NotNull public static PropertyState createProperty(String name, String value, int type) { switch (type) { case PropertyType.STRING: return StringPropertyState.stringProperty(name, value); case PropertyType.BINARY: return BinaryPropertyState.binaryProperty(name, Conversions.convert(value).toBinary()); case PropertyType.LONG: return LongPropertyState.createLongProperty(name, Conversions.convert(value).toLong()); case PropertyType.DOUBLE: return DoublePropertyState.doubleProperty(name, Conversions.convert(value).toDouble()); case PropertyType.BOOLEAN: return BooleanPropertyState.booleanProperty(name, Conversions.convert(value).toBoolean()); case PropertyType.DECIMAL: return DecimalPropertyState.decimalProperty(name, Conversions.convert(value).toDecimal()); default: return new GenericPropertyState(name, value, Type.fromTag(type, false)); } }
/** * Create a {@code PropertyState} from a string. * @param name The name of the property state * @param value The value of the property state * @param type The type of the property state * @return The new property state */ @Nonnull public static PropertyState createProperty(String name, String value, int type) { switch (type) { case PropertyType.STRING: return StringPropertyState.stringProperty(name, value); case PropertyType.BINARY: return BinaryPropertyState.binaryProperty(name, Conversions.convert(value).toBinary()); case PropertyType.LONG: return LongPropertyState.createLongProperty(name, Conversions.convert(value).toLong()); case PropertyType.DOUBLE: return DoublePropertyState.doubleProperty(name, Conversions.convert(value).toDouble()); case PropertyType.BOOLEAN: return BooleanPropertyState.booleanProperty(name, Conversions.convert(value).toBoolean()); case PropertyType.DECIMAL: return DecimalPropertyState.decimalProperty(name, Conversions.convert(value).toDecimal()); default: return new GenericPropertyState(name, value, Type.fromTag(type, false)); } }
@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 Blob apply(T value) { return getConverter(value).toBinary(); } });
@Override public Blob apply(T value) { return getConverter(value).toBinary(); } });