@Override public Object getValueFromResultSet( DatabaseInterface databaseInterface, ResultSet resultSet, int index ) throws KettleDatabaseException { try { return convertStringToInternetAddress( resultSet.getString( index + 1 ) ); } catch ( Exception e ) { throw new KettleDatabaseException( toStringMeta() + " : Unable to get Internet Address from resultset at index " + index, e ); } }
@Override public byte[] getBinaryString( Object object ) throws KettleValueException { if ( isStorageBinaryString() && identicalFormat ) { return (byte[]) object; // shortcut it directly for better performance. } if ( object == null ) { return null; } switch ( storageType ) { case STORAGE_TYPE_NORMAL: return convertStringToBinaryString( getString( object ) ); case STORAGE_TYPE_BINARY_STRING: return convertStringToBinaryString( getString( convertStringToInternetAddress( convertBinaryStringToString( (byte[]) object ) ) ) ); case STORAGE_TYPE_INDEXED: return convertStringToBinaryString( convertInternetAddressToString( (InetAddress) index[( (Integer) object )] ) ); default: throw new KettleValueException( toString() + " : Unknown storage type " + storageType + " specified." ); } }
switch ( storageType ) { case STORAGE_TYPE_NORMAL: return convertStringToInternetAddress( (String) object ); case STORAGE_TYPE_BINARY_STRING: return convertStringToInternetAddress( (String) convertBinaryStringToNativeType( (byte[]) object ) ); case STORAGE_TYPE_INDEXED: return convertStringToInternetAddress( (String) index[( (Integer) object ).intValue()] ); default: throw new KettleValueException( toString() + " : Unknown storage type " + storageType + " specified." );
/** * Convert the specified data to the data type specified in this object. * * @param meta2 * the metadata of the object to be converted * @param data2 * the data of the object to be converted * @return the object in the data type of this value metadata object * @throws KettleValueException * in case there is a data conversion error */ @Override public Object convertData( ValueMetaInterface meta2, Object data2 ) throws KettleValueException { switch ( meta2.getType() ) { case TYPE_STRING: return convertStringToInternetAddress( meta2.getString( data2 ) ); case TYPE_INTEGER: return convertIntegerToInternetAddress( meta2.getInteger( data2 ) ); case TYPE_NUMBER: return convertNumberToInternetAddress( meta2.getNumber( data2 ) ); case TYPE_BIGNUMBER: return convertBigNumberToInternetAddress( meta2.getBigNumber( data2 ) ); default: throw new KettleValueException( meta2.toStringMeta() + " : can't be converted to an Internet Address" ); } }