/** 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; | |
}; |