001package gudusoft.gsqlparser.sqlenv;
002
003import gudusoft.gsqlparser.nodes.TTypeName;
004
005public class TSQLParameter extends TSQLObject{
006    private int parameterIndex;
007
008    public int getParameterIndex() {
009        return parameterIndex;
010    }
011
012    private TSQLRoutine sqlRoutine;
013    private TTypeName parameterType;
014
015    public TSQLRoutine getSqlRoutine() {
016        return sqlRoutine;
017    }
018
019    public TTypeName getParameterType() {
020        return parameterType;
021    }
022
023//    public TSQLParameter(TSQLRoutine sqlFunction, int index, String parameterName){
024//        super(sqlFunction.getSqlEnv(),parameterName,ESQLDataObjectType.dotParameter);
025//        this.sqlRoutine = sqlFunction;
026//        this.parameterIndex = index;
027//    }
028
029    public TSQLParameter(TSQLRoutine sqlFunction, int index, TTypeName dataType, String parameterName){
030        super(sqlFunction.getSqlEnv(),parameterName,ESQLDataObjectType.dotParameter);
031        this.sqlRoutine = sqlFunction;
032        this.parameterIndex = index;
033        if (dataType != null){
034            this.parameterType = dataType.clone();
035        }
036    }
037
038    @Override
039    public String toString(){
040
041        String ret = "Parameter name: "+ name;
042        if (parameterType != null){
043            ret = ret +", data type: " + parameterType.getDataType().toString();
044        }else{
045            ret = ret +", data type: N/A";
046        }
047        return ret;
048    }
049}