001package gudusoft.gsqlparser.nodes; 002 003import gudusoft.gsqlparser.TSourceToken; 004 005/** 006 * property of character data type, such as character set name, case specific. 007 * used in Teradata. 008 * 009 */ 010public class TCharacterDatatypeProperty extends TParseTreeNode{ 011 public static final int CASESPECIFIC_UNKNOWN = 1; 012 public static final int CASESPECIFIC = 2; 013 public static final int NOT_CASESPECIFIC = 3; 014 private String characterSetName; 015 private int caseSpecific = CASESPECIFIC_UNKNOWN; 016 017 public String getCharacterSetName() { 018 return characterSetName; 019 } 020 021 public int getCaseSpecific() { 022 return caseSpecific; 023 } 024 025 public void init(Object arg1){ 026 this.characterSetName = ((TSourceToken)arg1).toString(); 027 } 028 029 public void setCaseSpecific(TDummy caseSpecific) { 030 if (caseSpecific == null) return; 031 032 TSourceToken caseSpecificToken = caseSpecific.getStartToken(); 033 if (caseSpecificToken.toString().equalsIgnoreCase("NOT")) { 034 this.caseSpecific = NOT_CASESPECIFIC; 035 }else if (caseSpecificToken.toString().equalsIgnoreCase("CASESPECIFIC")) { 036 this.caseSpecific = CASESPECIFIC; 037 } 038 } 039 040 public void accept(TParseTreeVisitor v){ 041 v.preVisit(this); 042 v.postVisit(this); 043 } 044 045 public void acceptChildren(TParseTreeVisitor v){ 046 v.preVisit(this); 047 v.postVisit(this); 048 } 049 050}