001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.EIsolationLevel;
004
005/**
006 * DB2/Sybase isolation clause
007 */
008public class TIsolationClause extends TParseTreeNode {
009    private EIsolationLevel isolationLevel;
010
011    public EIsolationLevel getIsolationLevel() {
012        return isolationLevel;
013    }
014
015    public void init(Object arg1){
016        if (arg1 instanceof TConstant){
017            if (((TConstant)arg1).toString().equalsIgnoreCase("0")){
018                isolationLevel = EIsolationLevel.readUncommitted;
019            }else if (((TConstant)arg1).toString().equalsIgnoreCase("1")){
020                isolationLevel = EIsolationLevel.readCommitted;
021            }else if (((TConstant)arg1).toString().equalsIgnoreCase("2")){
022                isolationLevel = EIsolationLevel.repeatableRead;
023            }else if (((TConstant)arg1).toString().equalsIgnoreCase("3")){
024                isolationLevel = EIsolationLevel.serializable;
025            }else {
026                isolationLevel = EIsolationLevel.unknown;
027            }
028        }else {
029            isolationLevel = (EIsolationLevel)arg1;
030        }
031
032    }
033
034    public void setIsolationLevel(EIsolationLevel isolationLevel) {
035        this.isolationLevel = isolationLevel;
036    }
037}