@Override public byte[] getBinaryString( Object object ) throws KettleValueException { if ( object == null ) { return null; } if ( isStorageBinaryString() && identicalFormat ) { return (byte[]) object; // shortcut it directly for better performance. } switch ( storageType ) { case STORAGE_TYPE_NORMAL: return convertStringToBinaryString( getString( object ) ); case STORAGE_TYPE_BINARY_STRING: return convertStringToBinaryString( (String) convertBinaryStringToNativeType( (byte[]) object ) ); case STORAGE_TYPE_INDEXED: return convertStringToBinaryString( getString( index[( (Integer) object ).intValue()] ) ); default: throw new KettleValueException( toString() + " : Unknown storage type " + storageType + " specified." ); } }
return (Timestamp) object; case STORAGE_TYPE_BINARY_STRING: return (Timestamp) convertBinaryStringToNativeType( (byte[]) object ); case STORAGE_TYPE_INDEXED: return (Timestamp) index[( (Integer) object ).intValue()]; return convertStringToTimestamp( (String) object ); case STORAGE_TYPE_BINARY_STRING: return convertStringToTimestamp( (String) convertBinaryStringToNativeType( (byte[]) object ) ); case STORAGE_TYPE_INDEXED: return convertStringToTimestamp( (String) index[( (Integer) object ).intValue()] ); return convertNumberToTimestamp( (Double) object ); case STORAGE_TYPE_BINARY_STRING: return convertNumberToTimestamp( (Double) convertBinaryStringToNativeType( (byte[]) object ) ); case STORAGE_TYPE_INDEXED: return convertNumberToTimestamp( (Double) index[( (Integer) object ).intValue()] ); return convertIntegerToTimestamp( (Long) object ); case STORAGE_TYPE_BINARY_STRING: return convertIntegerToTimestamp( (Long) convertBinaryStringToNativeType( (byte[]) object ) ); case STORAGE_TYPE_INDEXED: return convertIntegerToTimestamp( (Long) index[( (Integer) object ).intValue()] ); return convertBigNumberToTimestamp( (BigDecimal) object ); case STORAGE_TYPE_BINARY_STRING: return convertBigNumberToTimestamp( (BigDecimal) convertBinaryStringToNativeType( (byte[]) object ) ); case STORAGE_TYPE_INDEXED: return convertBigNumberToTimestamp( (BigDecimal) index[( (Integer) object ).intValue()] );