private void visitGenClassIndex(SpeedoField sf) throws SpeedoException {
if (sf.jdoTuple instanceof SpeedoCollection) {
SpeedoCollection collec = (SpeedoCollection) sf.jdoTuple;
if (collec.indexColumns == null
&& List.class.isAssignableFrom(getGCClass(sf))) {
collec.indexColumns = new SpeedoColumn("idx", sf.join.extTable);
if (logger.isLoggable(BasicLevel.DEBUG)) {
logger.log(BasicLevel.DEBUG,
"\t\t\tCreate column for the list index"
+ collec.indexColumns.toString());
}
}
} else if (sf.jdoTuple instanceof SpeedoMap) {
SpeedoMap map = (SpeedoMap) sf.jdoTuple;
if (map.keyColumns == null) {
map.keyColumns = new SpeedoColumn("idx", sf.join.extTable);
if (logger.isLoggable(BasicLevel.DEBUG)) {
logger.log(BasicLevel.DEBUG, "\t\t\tCreate column for the map key"
+ map.keyColumns.toString());
}
}