Package org.pentaho.di.core.row.value
Class ValueMetaInternetAddress
- java.lang.Object
-
- org.pentaho.di.core.row.value.ValueMetaBase
-
- org.pentaho.di.core.row.value.ValueMetaDate
-
- org.pentaho.di.core.row.value.ValueMetaInternetAddress
-
- All Implemented Interfaces:
Cloneable,ValueMetaInterface
public class ValueMetaInternetAddress extends ValueMetaDate
-
-
Field Summary
-
Fields inherited from class org.pentaho.di.core.row.value.ValueMetaBase
bigNumberFormatting, caseInsensitive, collator, collatorDisabled, collatorLocale, collatorStrength, comments, comparator, COMPATIBLE_DATE_FORMAT_PATTERN, compatibleDateFormat, conversionMask, conversionMetadata, currencySymbol, dateFormat, dateFormatChanged, dateFormatLenient, dateFormatLocale, dateFormatTimeZone, decimalFormat, decimalFormatChanged, decimalSymbol, DEFAULT_BIG_NUMBER_FORMAT_MASK, DEFAULT_BIGNUMBER_PARSE_MASK, DEFAULT_DATE_FORMAT_MASK, DEFAULT_DATE_PARSE_MASK, DEFAULT_INTEGER_FORMAT_MASK, DEFAULT_INTEGER_PARSE_MASK, DEFAULT_NUMBER_FORMAT_MASK, DEFAULT_NUMBER_PARSE_MASK, DEFAULT_TIMESTAMP_FORMAT_MASK, DEFAULT_TIMESTAMP_PARSE_MASK, emptyStringAndNullAreDifferent, groupingSymbol, identicalFormat, ignoreTimezone, ignoreWhitespace, index, largeTextField, length, lenientStringToNumber, name, numberOfBinaryStringConversions, origin, originalAutoIncrement, originalColumnType, originalColumnTypeName, originalNullable, originalPrecision, originalScale, originalSigned, outputPaddingEnabled, PKG, precision, SINGLE_BYTE_ENCODINGS, sortedDescending, storageMetadata, storageType, stringEncoding, trimType, trimTypeCode, trimTypeDesc, type, XML_DATA_TAG, XML_META_TAG
-
Fields inherited from interface org.pentaho.di.core.row.ValueMetaInterface
DEFAULT_INTEGER_LENGTH, SORT_TYPE_ASCENDING, SORT_TYPE_DESCENDING, SORT_TYPE_NOT_SORTED, sortTypeCodes, STORAGE_TYPE_BINARY_STRING, STORAGE_TYPE_INDEXED, STORAGE_TYPE_NORMAL, storageTypeCodes, TRIM_TYPE_BOTH, TRIM_TYPE_LEFT, TRIM_TYPE_NONE, TRIM_TYPE_RIGHT, TYPE_BIGNUMBER, TYPE_BINARY, TYPE_BOOLEAN, TYPE_DATE, TYPE_INET, TYPE_INTEGER, TYPE_NONE, TYPE_NUMBER, TYPE_SERIALIZABLE, TYPE_STRING, TYPE_TIMESTAMP, typeCodes
-
-
Constructor Summary
Constructors Constructor Description ValueMetaInternetAddress()ValueMetaInternetAddress(String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectcloneValueData(Object object)Clones the data.intcompare(Object data1, Object data2)Compare 2 values of the same data typeprotected InetAddressconvertBigNumberToInternetAddress(BigDecimal bd)ObjectconvertData(ValueMetaInterface meta2, Object data2)Convert the specified data to the data type specified in this object.ObjectconvertDataFromString(String pol, ValueMetaInterface convertMeta, String nullIf, String ifNull, int trim_type)Convert the specified string to the data type specified in this object.protected InetAddressconvertIntegerToInternetAddress(Long l)protected StringconvertInternetAddressToString(InetAddress inetAddress)protected InetAddressconvertNumberToInternetAddress(Double d)protected InetAddressconvertStringToInternetAddress(String string)BigDecimalgetBigNumber(Object object)Convert the supplied data to a BigNumberbyte[]getBinaryString(Object object)convert the supplied data to a binary string representation (for writing text)BooleangetBoolean(Object object)Convert the supplied data to a BooleanStringgetDatabaseColumnTypeDefinition(DatabaseInterface databaseInterface, String tk, String pk, boolean use_autoinc, boolean add_fieldname, boolean add_cr)Ask for suggestions as to how this plugin data type should be represented in the specified database interfaceDategetDate(Object object)Convert the supplied data to a DateLonggetInteger(Object object)Convert the supplied data to an IntegerInetAddressgetInternetAddress(Object object)ValueMetaInterfacegetMetadataPreview(DatabaseMeta databaseMeta, ResultSet rs)This is a similar method to getValueFromSQLType, but it uses a ResultSet from a call to DatabaseMetaData#getColumns(String, String, String, String) The ResultSet must be positioned correctly on the row to read.ObjectgetNativeDataType(Object object)This method gives you the native Java data type corresponding to the value meta-data.Class<?>getNativeDataTypeClass()Return the Java class that represents the "native" storage type of this ValueMetaDoublegetNumber(Object object)Convert the supplied data to a NumberStringgetString(Object object)Convert the supplied data to a StringObjectgetValueFromResultSet(DatabaseInterface databaseInterface, ResultSet resultSet, int index)Get a value from a result set column based on the current value metadataValueMetaInterfacegetValueFromSQLType(DatabaseMeta databaseMeta, String name, ResultSetMetaData rm, int index, boolean ignoreLength, boolean lazyConversion)Investigate JDBC result set metadata at the specified index.voidsetPreparedStatementValue(DatabaseMeta databaseMeta, PreparedStatement preparedStatement, int index, Object data)Set a value on a JDBC prepared statement on the specified position-
Methods inherited from class org.pentaho.di.core.row.value.ValueMetaDate
getFormatMask
-
Methods inherited from class org.pentaho.di.core.row.value.ValueMetaBase
clone, compare, compareStorageAndActualFormat, convertBigNumberToBoolean, convertBigNumberToDate, convertBigNumberToString, convertBinaryStringToNativeType, convertBinaryStringToString, convertBooleanToBigNumber, convertBooleanToInteger, convertBooleanToNumber, convertBooleanToString, convertDataCompatible, convertDataUsingConversionMetaData, convertDateToBigNumber, convertDateToCompatibleString, convertDateToInteger, convertDateToNumber, convertDateToString, convertIntegerToBoolean, convertIntegerToCompatibleString, convertIntegerToDate, convertIntegerToString, convertNormalStorageTypeToBinaryString, convertNumberToBoolean, convertNumberToCompatibleString, convertNumberToDate, convertNumberToString, convertStringToBigNumber, convertStringToBinaryString, convertStringToBoolean, convertStringToDate, convertStringToInteger, convertStringToNumber, convertToBinaryStringStorageType, convertToNormalStorageType, createOriginalValue, determineSingleByteEncoding, drawValue, getAllTypes, getBinary, getCollatorLocale, getCollatorStrength, getComments, getCompatibleString, getConversionMask, getConversionMetadata, getCurrencySymbol, getDataXML, getDateFormat, getDateFormatLocale, getDateFormatTimeZone, getDecimalFormat, getDecimalFormat, getDecimalSymbol, getGroupingSymbol, getIndex, getLength, getMetaXML, getName, getNumberOfBinaryStringConversions, getOrigin, getOriginalColumnMetadata, getOriginalColumnType, getOriginalColumnTypeName, getOriginalNullable, getOriginalPrecision, getOriginalScale, getOriginalSigned, getPrecision, getQuotesBeforeSymbol, getStorageMetadata, getStorageType, getStorageType, getStorageTypeCode, getStorageTypeDesc, getStringEncoding, getTrimType, getTrimTypeByCode, getTrimTypeByDesc, getTrimTypeCode, getTrimTypeCodes, getTrimTypeDesc, getTrimTypeDescriptions, getType, getType, getTypeDesc, getTypeDesc, getTypes, getValue, getValueData, hashCode, isBigNumber, isBigNumberFormatting, isBinary, isBoolean, isCaseInsensitive, isCollatorDisabled, isDate, isDateFormatLenient, isIgnoreWhitespace, isInteger, isLargeTextField, isLenientStringToNumber, isNull, isNumber, isNumeric, isNumeric, isOriginalAutoIncrement, isOriginalNullable, isOriginalSigned, isOutputPaddingEnabled, isSerializableType, isSingleByteEncoding, isSortedAscending, isSortedDescending, isStorageBinaryString, isStorageIndexed, isStorageNormal, isString, readBigNumber, readBinary, readBinaryString, readBoolean, readData, readDate, readInteger, readMetaData, readNumber, readSmallInteger, readString, requiresRealClone, setBigNumberFormatting, setCaseInsensitive, setCollatorDisabled, setCollatorLocale, setCollatorStrength, setComments, setConversionMask, setConversionMetadata, setCurrencySymbol, setDateFormatLenient, setDateFormatLocale, setDateFormatTimeZone, setDecimalSymbol, setDefaultConversionMask, setGroupingSymbol, setIgnoreWhitespace, setIndex, setLargeTextField, setLength, setLength, setLenientStringToNumber, setName, setNumberOfBinaryStringConversions, setOrigin, setOriginalAutoIncrement, setOriginalColumnType, setOriginalColumnTypeName, setOriginalNullable, setOriginalPrecision, setOriginalScale, setOriginalSigned, setOutputPaddingEnabled, setPrecision, setSortedDescending, setStorageMetadata, setStorageType, setStringEncoding, setTrimType, setType, toString, toStringMeta, trim, writeBigNumber, writeBinary, writeBinaryString, writeBoolean, writeData, writeDate, writeInteger, writeInteger, writeMeta, writeNumber, writeString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pentaho.di.core.row.ValueMetaInterface
clone, compare, convertBinaryStringToNativeType, convertDataCompatible, convertDataUsingConversionMetaData, convertNormalStorageTypeToBinaryString, convertToBinaryStringStorageType, convertToNormalStorageType, createOriginalValue, drawValue, getBinary, getCollatorLocale, getCollatorStrength, getComments, getCompatibleString, getConversionMask, getConversionMetadata, getCurrencySymbol, getDataXML, getDateFormat, getDateFormatLocale, getDateFormatTimeZone, getDecimalFormat, getDecimalFormat, getDecimalSymbol, getGroupingSymbol, getIndex, getLength, getMetaXML, getName, getNumberOfBinaryStringConversions, getOrigin, getOriginalColumnType, getOriginalColumnTypeName, getOriginalNullable, getOriginalPrecision, getOriginalScale, getOriginalSigned, getPrecision, getStorageMetadata, getStorageType, getStringEncoding, getTrimType, getType, getTypeDesc, getValue, getValueData, hashCode, isBigNumber, isBinary, isBoolean, isCaseInsensitive, isCollatorDisabled, isDate, isDateFormatLenient, isIgnoreWhitespace, isInteger, isLargeTextField, isLenientStringToNumber, isNull, isNumber, isNumeric, isOriginalAutoIncrement, isOriginalNullable, isOriginalSigned, isOutputPaddingEnabled, isSerializableType, isSingleByteEncoding, isSortedDescending, isStorageBinaryString, isStorageIndexed, isStorageNormal, isString, readData, readMetaData, requiresRealClone, setCaseInsensitive, setCollatorDisabled, setCollatorLocale, setCollatorStrength, setComments, setConversionMask, setConversionMetadata, setCurrencySymbol, setDateFormatLenient, setDateFormatLocale, setDateFormatTimeZone, setDecimalSymbol, setGroupingSymbol, setIgnoreWhitespace, setIndex, setLargeTextField, setLength, setLength, setLenientStringToNumber, setName, setNumberOfBinaryStringConversions, setOrigin, setOriginalAutoIncrement, setOriginalColumnType, setOriginalColumnTypeName, setOriginalNullable, setOriginalPrecision, setOriginalScale, setOriginalSigned, setOutputPaddingEnabled, setPrecision, setSortedDescending, setStorageMetadata, setStorageType, setStringEncoding, setTrimType, setType, toStringMeta, writeData, writeMeta
-
-
-
-
Constructor Detail
-
ValueMetaInternetAddress
public ValueMetaInternetAddress()
-
ValueMetaInternetAddress
public ValueMetaInternetAddress(String name)
-
-
Method Detail
-
compare
public int compare(Object data1, Object data2) throws KettleValueException
Description copied from class:ValueMetaBaseCompare 2 values of the same data type- Specified by:
comparein interfaceValueMetaInterface- Overrides:
comparein classValueMetaBase- Parameters:
data1- the first valuedata2- the second value- Returns:
- 0 if the values are equal, -1 if data1 is smaller than data2 and +1 if it's larger.
- Throws:
KettleValueException- In case we get conversion errors
-
getInternetAddress
public InetAddress getInternetAddress(Object object) throws KettleValueException
- Throws:
KettleValueException
-
getDate
public Date getDate(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceConvert the supplied data to a Date- Specified by:
getDatein interfaceValueMetaInterface- Overrides:
getDatein classValueMetaDate- Throws:
KettleValueException
-
getInteger
public Long getInteger(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceConvert the supplied data to an Integer- Specified by:
getIntegerin interfaceValueMetaInterface- Overrides:
getIntegerin classValueMetaBase- Throws:
KettleValueException
-
getNumber
public Double getNumber(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceConvert the supplied data to a Number- Specified by:
getNumberin interfaceValueMetaInterface- Overrides:
getNumberin classValueMetaBase- Throws:
KettleValueException
-
getBigNumber
public BigDecimal getBigNumber(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceConvert the supplied data to a BigNumber- Specified by:
getBigNumberin interfaceValueMetaInterface- Overrides:
getBigNumberin classValueMetaBase- Throws:
KettleValueException
-
getBoolean
public Boolean getBoolean(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceConvert the supplied data to a Boolean- Specified by:
getBooleanin interfaceValueMetaInterface- Overrides:
getBooleanin classValueMetaBase- Throws:
KettleValueException
-
getString
public String getString(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceConvert the supplied data to a String- Specified by:
getStringin interfaceValueMetaInterface- Overrides:
getStringin classValueMetaBase- Throws:
KettleValueException
-
getBinaryString
public byte[] getBinaryString(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceconvert the supplied data to a binary string representation (for writing text)- Specified by:
getBinaryStringin interfaceValueMetaInterface- Overrides:
getBinaryStringin classValueMetaBase- Throws:
KettleValueException
-
convertBigNumberToInternetAddress
protected InetAddress convertBigNumberToInternetAddress(BigDecimal bd) throws KettleValueException
- Throws:
KettleValueException
-
convertNumberToInternetAddress
protected InetAddress convertNumberToInternetAddress(Double d) throws KettleValueException
- Throws:
KettleValueException
-
convertIntegerToInternetAddress
protected InetAddress convertIntegerToInternetAddress(Long l) throws KettleValueException
- Throws:
KettleValueException
-
convertStringToInternetAddress
protected InetAddress convertStringToInternetAddress(String string) throws KettleValueException
- Throws:
KettleValueException
-
convertInternetAddressToString
protected String convertInternetAddressToString(InetAddress inetAddress) throws KettleValueException
- Throws:
KettleValueException
-
convertDataFromString
public Object convertDataFromString(String pol, ValueMetaInterface convertMeta, String nullIf, String ifNull, int trim_type) throws KettleValueException
Description copied from class:ValueMetaBaseConvert the specified string to the data type specified in this object.- Specified by:
convertDataFromStringin interfaceValueMetaInterface- Overrides:
convertDataFromStringin classValueMetaBase- Parameters:
pol- the string to be convertedconvertMeta- the metadata of the object (only string type) to be convertednullIf- set the object to null if pos equals nullif (IgnoreCase)ifNull- set the object to ifNull when pol is empty or nulltrim_type- the trim type to be used (ValueMetaInterface.TRIM_TYPE_XXX)- Returns:
- the object in the data type of this value metadata object
- Throws:
KettleValueException- in case there is a data conversion error
-
convertData
public Object convertData(ValueMetaInterface meta2, Object data2) throws KettleValueException
Convert the specified data to the data type specified in this object.- Specified by:
convertDatain interfaceValueMetaInterface- Overrides:
convertDatain classValueMetaBase- Parameters:
meta2- the metadata of the object to be converteddata2- the data of the object to be converted- Returns:
- the object in the data type of this value metadata object
- Throws:
KettleValueException- in case there is a data conversion error
-
cloneValueData
public Object cloneValueData(Object object) throws KettleValueException
Description copied from class:ValueMetaBaseClones the data. Normally, we don't have to do anything here, but just for arguments and safety, we do a little extra work in case of binary blobs and Date objects. We should write a programmers manual later on to specify in all clarity that "we always overwrite/replace values in the Object[] data rows, we never modify them" .- Specified by:
cloneValueDatain interfaceValueMetaInterface- Overrides:
cloneValueDatain classValueMetaBase- Parameters:
object- the object- Returns:
- a cloned data object if needed
- Throws:
KettleValueException- the kettle value exception
-
getMetadataPreview
public ValueMetaInterface getMetadataPreview(DatabaseMeta databaseMeta, ResultSet rs) throws KettleDatabaseException
Description copied from interface:ValueMetaInterfaceThis is a similar method to getValueFromSQLType, but it uses a ResultSet from a call to DatabaseMetaData#getColumns(String, String, String, String) The ResultSet must be positioned correctly on the row to read.Note that the ValueMeta returned by this RowMeta may not contain actual values. This is a lightweight call using only JDBC metadata and does not make use of SQL statements.
- Specified by:
getMetadataPreviewin interfaceValueMetaInterface- Overrides:
getMetadataPreviewin classValueMetaBase- Parameters:
databaseMeta- the database metadata to reference capabilities and so on.rs- A ResultSet from getColumns, positioned correctly on a column to read.- Throws:
KettleDatabaseException
-
getValueFromSQLType
public ValueMetaInterface getValueFromSQLType(DatabaseMeta databaseMeta, String name, ResultSetMetaData rm, int index, boolean ignoreLength, boolean lazyConversion) throws KettleDatabaseException
Description copied from interface:ValueMetaInterfaceInvestigate JDBC result set metadata at the specified index. If this value metadata is interested in handling this SQL type, it should return the value meta. Otherwise it should return null.- Specified by:
getValueFromSQLTypein interfaceValueMetaInterface- Overrides:
getValueFromSQLTypein classValueMetaBase- Parameters:
databaseMeta- the database metadata to reference capabilities and so on.name- The name of the new valuerm- The result metadata to investigateindex- The index to look at (1-based)ignoreLength- Don't look at the lengthlazyConversion- use lazy conversion- Returns:
- The value metadata if this value should handle the SQL type at the specified index.
- Throws:
KettleDatabaseException- In case something went wrong.
-
getValueFromResultSet
public Object getValueFromResultSet(DatabaseInterface databaseInterface, ResultSet resultSet, int index) throws KettleDatabaseException
Description copied from class:ValueMetaBaseGet a value from a result set column based on the current value metadata- Specified by:
getValueFromResultSetin interfaceValueMetaInterface- Overrides:
getValueFromResultSetin classValueMetaBase- Parameters:
databaseInterface- the database metadata to useresultSet- The JDBC result set to read fromindex- The column index (1-based)- Returns:
- The Kettle native data type based on the value metadata
- Throws:
KettleDatabaseException- in case something goes wrong.
-
setPreparedStatementValue
public void setPreparedStatementValue(DatabaseMeta databaseMeta, PreparedStatement preparedStatement, int index, Object data) throws KettleDatabaseException
Description copied from interface:ValueMetaInterfaceSet a value on a JDBC prepared statement on the specified position- Specified by:
setPreparedStatementValuein interfaceValueMetaInterface- Overrides:
setPreparedStatementValuein classValueMetaBase- Parameters:
databaseMeta- the database metadata to referencepreparedStatement- The prepared statementindex- the column index (1-based)data- the value to set- Throws:
KettleDatabaseException- in case something goes wrong
-
getDatabaseColumnTypeDefinition
public String getDatabaseColumnTypeDefinition(DatabaseInterface databaseInterface, String tk, String pk, boolean use_autoinc, boolean add_fieldname, boolean add_cr)
Description copied from interface:ValueMetaInterfaceAsk for suggestions as to how this plugin data type should be represented in the specified database interface- Specified by:
getDatabaseColumnTypeDefinitionin interfaceValueMetaInterface- Overrides:
getDatabaseColumnTypeDefinitionin classValueMetaBase- Parameters:
databaseInterface- The database type/dialect to get the column type definition fortk- Is this a technical key field?pk- Is this a primary key field?use_autoinc- Use auto-increment?add_fieldname- add the fieldname to the column type definition?add_cr- add a cariage return to the string?- Returns:
- The field type definition
-
getNativeDataType
public Object getNativeDataType(Object object) throws KettleValueException
Description copied from interface:ValueMetaInterfaceThis method gives you the native Java data type corresponding to the value meta-data. Conversions from other storage types and other operations are done automatically according to the specified value meta-data.- Specified by:
getNativeDataTypein interfaceValueMetaInterface- Overrides:
getNativeDataTypein classValueMetaDate- Parameters:
object- The input data- Returns:
- The native data type
- Throws:
KettleValueException- in case there is an unexpected data conversion error.
-
getNativeDataTypeClass
public Class<?> getNativeDataTypeClass() throws KettleValueException
Description copied from interface:ValueMetaInterfaceReturn the Java class that represents the "native" storage type of this ValueMeta- Specified by:
getNativeDataTypeClassin interfaceValueMetaInterface- Overrides:
getNativeDataTypeClassin classValueMetaDate- Returns:
- A Java class
- Throws:
KettleValueException
-
-