- 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[]
columns
protected Map<FieldRole,TypeConverter>
componentConverters
protected AbstractMemberMetaData
mmd
protected TypeConverter
typeConverter
-
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 Column
getColumn(int position)
Accessor for the column at the specified position.Column[]
getColumns()
Accessor for the columns representing this member.AbstractMemberMetaData
getMemberMetaData()
Accessor for the metadata for this member.int
getNumberOfColumns()
Accessor for the number of columns that represents this member.TypeConverter
getTypeConverter()
Accessor for the TypeConverter to use for this member-column (if any).TypeConverter
getTypeConverterForComponent(FieldRole role)
Accessor for a component (collection element, map key, map value) converter if defined.void
setTypeConverter(TypeConverter typeConv)
Method to set the TypeConverter used by this member-column.void
setTypeConverterForComponent(FieldRole role, TypeConverter conv)
Method to set a component TypeConverter for such as a collection element, map key or map value.String
toString()
-
-
-
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:MemberColumnMapping
Method to set the TypeConverter used by this member-column.- Specified by:
setTypeConverter
in interfaceMemberColumnMapping
- Parameters:
typeConv
- The TypeConverter to use
-
setTypeConverterForComponent
public void setTypeConverterForComponent(FieldRole role, TypeConverter conv)
Description copied from interface:MemberColumnMapping
Method to set a component TypeConverter for such as a collection element, map key or map value.- Specified by:
setTypeConverterForComponent
in interfaceMemberColumnMapping
- Parameters:
role
- The role where this converter is usedconv
- The converter
-
getMemberMetaData
public AbstractMemberMetaData getMemberMetaData()
Description copied from interface:MemberColumnMapping
Accessor for the metadata for this member.- Specified by:
getMemberMetaData
in interfaceMemberColumnMapping
- Returns:
- Metadata for the member.
-
getColumn
public Column getColumn(int position)
Description copied from interface:MemberColumnMapping
Accessor for the column at the specified position. 0 is the first column. If the position is out of range then returns null;- Specified by:
getColumn
in interfaceMemberColumnMapping
- Parameters:
position
- The position, with origin 0- Returns:
- The Column
-
getColumns
public Column[] getColumns()
Description copied from interface:MemberColumnMapping
Accessor for the columns representing this member.- Specified by:
getColumns
in interfaceMemberColumnMapping
- Returns:
- The columns
-
getNumberOfColumns
public int getNumberOfColumns()
Description copied from interface:MemberColumnMapping
Accessor for the number of columns that represents this member.- Specified by:
getNumberOfColumns
in interfaceMemberColumnMapping
- Returns:
- Number of columns
-
getTypeConverter
public TypeConverter getTypeConverter()
Description copied from interface:MemberColumnMapping
Accessor for the TypeConverter to use for this member-column (if any).- Specified by:
getTypeConverter
in interfaceMemberColumnMapping
- Returns:
- The TypeConverter
-
getTypeConverterForComponent
public TypeConverter getTypeConverterForComponent(FieldRole role)
Description copied from interface:MemberColumnMapping
Accessor for a component (collection element, map key, map value) converter if defined.- Specified by:
getTypeConverterForComponent
in 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
-
-