Class MemberColumnMappingImpl
- java.lang.Object
-
- org.datanucleus.store.schema.table.MemberColumnMappingImpl
-
- All Implemented Interfaces:
MemberColumnMapping
public class MemberColumnMappingImpl extends Object implements MemberColumnMapping
Mapping definition for a member (field/property) representing the column(s) that it maps to. This class is required as an intermediary between Table and Column so that we can support mapping a member to multiple columns.
-
-
Field Summary
Fields Modifier and Type Field Description protected Column[]columnsprotected Map<FieldRole,TypeConverter>componentConvertersprotected AbstractMemberMetaDatammdprotected TypeConvertertypeConverter
-
Constructor Summary
Constructors Constructor Description MemberColumnMappingImpl(AbstractMemberMetaData mmd, Column col)MemberColumnMappingImpl(AbstractMemberMetaData mmd, Column[] cols, TypeConverter typeConv)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ColumngetColumn(int position)Accessor for the column at the specified position.Column[]getColumns()Accessor for the columns representing this member.AbstractMemberMetaDatagetMemberMetaData()Accessor for the metadata for this member.intgetNumberOfColumns()Accessor for the number of columns that represents this member.TypeConvertergetTypeConverter()Accessor for the TypeConverter to use for this member-column (if any).TypeConvertergetTypeConverterForComponent(FieldRole role)Accessor for a component (collection element, map key, map value) converter if defined.voidsetTypeConverter(TypeConverter typeConv)Method to set the TypeConverter used by this member-column.voidsetTypeConverterForComponent(FieldRole role, TypeConverter conv)Method to set a component TypeConverter for such as a collection element, map key or map value.StringtoString()
-
-
-
Field Detail
-
mmd
protected AbstractMemberMetaData mmd
-
typeConverter
protected TypeConverter typeConverter
-
componentConverters
protected Map<FieldRole,TypeConverter> componentConverters
-
columns
protected Column[] columns
-
-
Constructor Detail
-
MemberColumnMappingImpl
public MemberColumnMappingImpl(AbstractMemberMetaData mmd, Column col)
-
MemberColumnMappingImpl
public MemberColumnMappingImpl(AbstractMemberMetaData mmd, Column[] cols, TypeConverter typeConv)
-
-
Method Detail
-
setTypeConverter
public void setTypeConverter(TypeConverter typeConv)
Description copied from interface:MemberColumnMappingMethod to set the TypeConverter used by this member-column.- Specified by:
setTypeConverterin interfaceMemberColumnMapping- Parameters:
typeConv- The TypeConverter to use
-
setTypeConverterForComponent
public void setTypeConverterForComponent(FieldRole role, TypeConverter conv)
Description copied from interface:MemberColumnMappingMethod to set a component TypeConverter for such as a collection element, map key or map value.- Specified by:
setTypeConverterForComponentin interfaceMemberColumnMapping- Parameters:
role- The role where this converter is usedconv- The converter
-
getMemberMetaData
public AbstractMemberMetaData getMemberMetaData()
Description copied from interface:MemberColumnMappingAccessor for the metadata for this member.- Specified by:
getMemberMetaDatain interfaceMemberColumnMapping- Returns:
- Metadata for the member.
-
getColumn
public Column getColumn(int position)
Description copied from interface:MemberColumnMappingAccessor for the column at the specified position. 0 is the first column. If the position is out of range then returns null;- Specified by:
getColumnin interfaceMemberColumnMapping- Parameters:
position- The position, with origin 0- Returns:
- The Column
-
getColumns
public Column[] getColumns()
Description copied from interface:MemberColumnMappingAccessor for the columns representing this member.- Specified by:
getColumnsin interfaceMemberColumnMapping- Returns:
- The columns
-
getNumberOfColumns
public int getNumberOfColumns()
Description copied from interface:MemberColumnMappingAccessor for the number of columns that represents this member.- Specified by:
getNumberOfColumnsin interfaceMemberColumnMapping- Returns:
- Number of columns
-
getTypeConverter
public TypeConverter getTypeConverter()
Description copied from interface:MemberColumnMappingAccessor for the TypeConverter to use for this member-column (if any).- Specified by:
getTypeConverterin interfaceMemberColumnMapping- Returns:
- The TypeConverter
-
getTypeConverterForComponent
public TypeConverter getTypeConverterForComponent(FieldRole role)
Description copied from interface:MemberColumnMappingAccessor for a component (collection element, map key, map value) converter if defined.- Specified by:
getTypeConverterForComponentin interfaceMemberColumnMapping- Parameters:
role- The role of the component where the converter would be used- Returns:
- The converter (if any). Null is returned if nothing defined
-
-