Package org.apache.cayenne.access.jdbc
Class RowDescriptorBuilder
java.lang.Object
org.apache.cayenne.access.jdbc.RowDescriptorBuilder
public class RowDescriptorBuilder extends Object
A builder class that helps to assemble 
RowDescriptor instances from various
 types of inputs.- Since:
- 3.0
- 
Field SummaryFields Modifier and Type Field Description protected Function<String,String>caseTransformerprotected ColumnDescriptor[]columnsprotected ResultSetMetaDataresultSetMetadataprotected Map<String,String>typeOverridesprotected booleanvalidateDuplicateColumnNames
- 
Constructor SummaryConstructors Constructor Description RowDescriptorBuilder()
- 
Method SummaryModifier and Type Method Description RowDescriptorgetDescriptor(ExtendedTypeMap typeMap)Returns a RowDescriptor built based on the builder internal state.booleanisOverriden(String columnName)RowDescriptorBuildermergeColumnsWithRsMetadata()protected ColumnDescriptor[]mergeResultSetAndPresetColumns()RowDescriptorBuilderoverrideColumnType(String columnName, String type)RowDescriptorBuildersetColumns(ColumnDescriptor[] columns)Sets an explicit set of columns.RowDescriptorBuildersetResultSet(ResultSet resultSet)RowDescriptorBuilderuseLowercaseColumnNames()RowDescriptorBuilderuseUppercaseColumnNames()RowDescriptorBuildervalidateDuplicateColumnNames()Validate and report duplicate names of columns.
- 
Field Details- 
columns
- 
resultSetMetadata
- 
caseTransformer
- 
typeOverrides
- 
validateDuplicateColumnNamesprotected boolean validateDuplicateColumnNames
 
- 
- 
Constructor Details- 
RowDescriptorBuilderpublic RowDescriptorBuilder()
 
- 
- 
Method Details- 
getDescriptorpublic RowDescriptor getDescriptor(ExtendedTypeMap typeMap) throws SQLException, IllegalStateExceptionReturns a RowDescriptor built based on the builder internal state.- Throws:
- SQLException
- IllegalStateException
 
- 
mergeResultSetAndPresetColumns- Returns:
- array of columns for ResultSet with overriding ColumnDescriptors from 'columns' Note: column will be overlooked, if column name is empty
- Throws:
- SQLException
 
- 
setColumnsSets an explicit set of columns. Note that the array passed as an argument can later be modified by the build to enforce column capitalization policy and columns Java types overrides.
- 
setResultSet- Throws:
- SQLException
 
- 
useLowercaseColumnNames
- 
useUppercaseColumnNames
- 
overrideColumnType
- 
validateDuplicateColumnNamesValidate and report duplicate names of columns.- Returns:
- this builder
 
- 
isOverriden
- 
mergeColumnsWithRsMetadata
 
-