public void endPlsqlRecord(String plsqlRecordName, String typeDeclaration, String typeDropDDL) {
if (!"".equals(typeDeclaration)) {
dbwsBuilder.getTypeDDL().add(typeDeclaration);
dbwsBuilder.getTypeDropDDL().add(typeDropDDL);
}
PLSQLrecord plsqlRecord = (PLSQLrecord)typeStack.pop();
if (!typeStack.empty()) {
DatabaseType top = typeStack.peek();
if (top.isComplexDatabaseType()) {
ComplexDatabaseType cdt = (ComplexDatabaseType)top;
if (cdt.isCollection()) {
PLSQLCollection coll = (PLSQLCollection)cdt;
if (coll.getNestedType() == null) {
coll.setNestedType(plsqlRecord);
}
}
else if (cdt.isRecord()) {
PLSQLrecord rec = (PLSQLrecord)cdt;
List<PLSQLargument> fields = rec.getFields();
PLSQLargument arg = fields.get(fields.size() - 1);
if (arg.databaseType == null) {
arg.databaseType = plsqlRecord;
}
}