001package gudusoft.gsqlparser.nodes.functions; 002 003 004import gudusoft.gsqlparser.nodes.*; 005 006 007import java.util.ArrayList; 008 009public class TUnpackOption extends TParseTreeNode { 010 011 public static final int UNPACK_TARGETCOLUMN = 1; 012 public static final int UNPACK_DELIMITER = 2; 013 public static final int UNPACK_OUTPUTCOLUMNS = 3; 014 public static final int UNPACK_OUTPUTDATATYPES = 4; 015 public static final int UNPACK_COLUMNLENTH = 5; 016 public static final int UNPACK_REGEX = 6; 017 public static final int UNPACK_REGEXSET = 7; 018 public static final int UNPACK_IGNOREINVALID = 8; 019 public static final int UNPACK_ACCUMULATE = 9; 020 public static final int PACK_TARGETCOLUMNS = 10; // for pack function 021 public static final int PACK_INCLUDECOLUMNNAME = 11; // for pack function 022 public static final int PACK_OUTPUTCOLUMN = 12; // for pack function 023 public static final int PACK_COLCAST = 13; // for pack function 024 025 private int optionType = UNPACK_TARGETCOLUMN; 026 027 private TConstant targetColumn; 028 private ArrayList<TConstant> targetColumns; 029 private TConstant delimiter; 030 private ArrayList<TConstant> outputColumns; 031 private ArrayList<TConstant> outputDataTypes; 032 private ArrayList<TConstant> columnLengths; 033 034 private TConstant includeColumnName; 035 private TConstant outputColumn; 036 private TConstant colCast; 037 038 public void setTargetColumns(ArrayList<TConstant> targetColumns) { 039 this.targetColumns = targetColumns; 040 } 041 042 public void setIncludeColumnName(TConstant includeColumnName) { 043 this.includeColumnName = includeColumnName; 044 } 045 046 public void setOutputColumn(TConstant outputColumn) { 047 this.outputColumn = outputColumn; 048 } 049 050 public void setColCast(TConstant colCast) { 051 this.colCast = colCast; 052 } 053 054 public ArrayList<TConstant> getTargetColumns() { 055 return targetColumns; 056 } 057 058 public TConstant getIncludeColumnName() { 059 return includeColumnName; 060 } 061 062 public TConstant getOutputColumn() { 063 return outputColumn; 064 } 065 066 public TConstant getColCast() { 067 return colCast; 068 } 069 070 private TConstant regex; 071 private TConstant regexSet; 072 private TConstant ignoreInvalid; 073 074 public void setRegex(TConstant regex) { 075 this.regex = regex; 076 } 077 078 public void setRegexSet(TConstant regexSet) { 079 this.regexSet = regexSet; 080 } 081 082 public void setIgnoreInvalid(TConstant ignoreInvalid) { 083 this.ignoreInvalid = ignoreInvalid; 084 } 085 086 public void setAccumulate(ArrayList<TConstant> accumulate) { 087 this.accumulate = accumulate; 088 } 089 090 public TConstant getRegex() { 091 return regex; 092 } 093 094 public TConstant getRegexSet() { 095 return regexSet; 096 } 097 098 public TConstant getIgnoreInvalid() { 099 return ignoreInvalid; 100 } 101 102 public ArrayList<TConstant> getAccumulate() { 103 return accumulate; 104 } 105 106 private ArrayList<TConstant> accumulate; 107 108 public void setOptionType(int optionType) { 109 this.optionType = optionType; 110 } 111 112 113 114 public void setTargetColumn(TConstant targetColumn) { 115 this.targetColumn = targetColumn; 116 } 117 118 public void setDelimiter(TConstant delimiter) { 119 this.delimiter = delimiter; 120 } 121 122 public void setOutputColumns(ArrayList<TConstant> outputColumns) { 123 this.outputColumns = outputColumns; 124 } 125 126 public void setOutputDataTypes(ArrayList<TConstant> outputDataTypes) { 127 this.outputDataTypes = outputDataTypes; 128 } 129 130 public int getOptionType() { 131 return optionType; 132 } 133 134 public TConstant getTargetColumn() { 135 return targetColumn; 136 } 137 138 public TConstant getDelimiter() { 139 return delimiter; 140 } 141 142 public ArrayList<TConstant> getOutputColumns() { 143 return outputColumns; 144 } 145 146 public ArrayList<TConstant> getOutputDataTypes() { 147 return outputDataTypes; 148 } 149 150 151 152 public void setColumnLengths(ArrayList<TConstant> columnLengths) { 153 this.columnLengths = columnLengths; 154 } 155 156 public ArrayList<TConstant> getColumnLengths() { 157 return columnLengths; 158 } 159 160 public void accept(TParseTreeVisitor v){ 161 v.preVisit(this); 162 v.postVisit(this); 163 } 164 165 public void acceptChildren(TParseTreeVisitor v) { 166 v.preVisit(this); 167 v.postVisit(this); 168 } 169}