blob: 61c00b1409365606c5209355e143ec761482e2c0 [file] [log] [blame]
/** Copyright (C) Conformiq Software Oy, Ltd.
* All rights reserved.
*
* Created Thu Aug 28 11:18:26 2008.
*
* @file
*
* @author Tommi Vainikainen
*
*
*/
package com.conformiq.adaptation.ttcn;
import java.util.Set;
import com.conformiq.qtronic2.QMLArrayType;
import com.conformiq.qtronic2.QMLBooleanType;
import com.conformiq.qtronic2.QMLNumberType;
import com.conformiq.qtronic2.QMLOptionalType;
import com.conformiq.qtronic2.QMLRecordType;
import com.conformiq.qtronic2.QMLStringType;
import com.conformiq.qtronic2.QMLTypeVisitor;
class TTCNTypeName implements QMLTypeVisitor {
public TTCNTypeName(Set<String> arrays) {
this.arrays = arrays;
optional = false;
name = "";
}
public void visit(QMLArrayType a) {
// We first visit the element type to get the correct name
// for it.
a.getType().accept(this);
//arrays.add(a.getType().getTypeName());
arrays.add(name);
optional = false;
name += "Array";
}
public void visit(QMLBooleanType b) {
name = "boolean";
}
public void visit(QMLNumberType n) {
if (n.isFloat() || n.isDouble()) {
name = "float";
} else {
name = "integer";
}
}
public void visit(QMLRecordType r) {
name = TTCNScripter.makeValidTTCN3Identifier(r.getTypeName());
}
public void visit(QMLStringType s) {
name = "charstring";
}
public void visit(QMLOptionalType p) {
p.getType().accept(this);
optional = true;
}
private boolean optional;
public boolean getOptional() {
return optional;
}
private String name;
public String getName() {
return name;
}
protected Set<String> arrays;
};