boolean first = true;
while (it.hasNext()) {
context.append(!first ? ", " : " ");
DbAttribute dbAttribute = it.next();
if (context.isAppendingResultColumns()) {
context.append(" #result('");
}
else {
context.append(' ');
}
context.append(alias).append('.').append(dbAttribute.getName());
if (context.isAppendingResultColumns()) {
String javaType = TypesMapping.getJavaBySqlType(dbAttribute
.getType());
String columnLabel = fields.get(dbAttribute.getName());
context.append("' '").append(javaType).append("' '").append(
columnLabel).append("' '").append(columnLabel).append(
"' " + dbAttribute.getType()).append(")");
}
first = false;
}
}
@Override
protected void processTerminatingAttribute(ObjAttribute attribute) {
DbEntity table = currentEntity.getDbEntity();
String alias = this.lastAlias != null ? lastAlias : context
.getTableAlias(idPath, table.getFullyQualifiedName());
DbAttribute dbAttribute = attribute.getDbAttribute();
if (context.isAppendingResultColumns()) {
context.append(" #result('");
}
else {
context.append(' ');
}
context.append(alias).append('.').append(dbAttribute.getName());
if (context.isAppendingResultColumns()) {
String columnAlias = context.nextColumnAlias();
// TODO: andrus 6/27/2007 - the last parameter is an unofficial
// "jdbcType"
// pending CAY-813 implementation, switch to #column directive
context
.append("' '")
.append(attribute.getType())
.append("' '")
.append(columnAlias)
.append("' '")
.append(columnAlias)
.append("' " + dbAttribute.getType())
.append(")");
}
}
};
expression.visit(pathTranslator);