1 24 25 package com.mckoi.database; 26 27 56 57 public final class SelectableRange { 58 59 61 66 public static final TObject FIRST_IN_SET = 67 new TObject(TType.NULL_TYPE, "[FIRST_IN_SET]"); 68 69 74 public static final TObject LAST_IN_SET = 75 new TObject(TType.NULL_TYPE, "[LAST_IN_SET]"); 76 77 81 public static final byte FIRST_VALUE = 1, 82 LAST_VALUE = 2, 83 BEFORE_FIRST_VALUE = 3, 84 AFTER_LAST_VALUE = 4; 85 86 88 91 private TObject start; 92 93 96 private TObject end; 97 98 102 private byte set_start_flag; 103 104 108 private byte set_end_flag; 109 110 113 public SelectableRange(byte set_start_flag, TObject start, 114 byte set_end_flag, TObject end) { 115 this.start = start; 116 this.end = end; 117 this.set_start_flag = set_start_flag; 118 this.set_end_flag = set_end_flag; 119 } 120 121 125 public TObject getStart() { 126 return start; 127 } 128 129 133 public TObject getEnd() { 134 return end; 135 } 136 137 141 public byte getStartFlag() { 142 return set_start_flag; 143 } 144 145 149 public byte getEndFlag() { 150 return set_end_flag; 151 } 152 153 154 157 public String toString() { 158 StringBuffer buf = new StringBuffer (); 159 if (getStartFlag() == FIRST_VALUE) { 160 buf.append("FIRST_VALUE "); 161 } 162 else if (getStartFlag() == AFTER_LAST_VALUE) { 163 buf.append("AFTER_LAST_VALUE "); 164 } 165 buf.append(getStart()); 166 buf.append(" -> "); 167 if (getEndFlag() == LAST_VALUE) { 168 buf.append("LAST_VALUE "); 169 } 170 else if (getEndFlag() == BEFORE_FIRST_VALUE) { 171 buf.append("BEFORE_FIRST_VALUE "); 172 } 173 buf.append(getEnd()); 174 return new String (buf); 175 } 176 177 180 public boolean equals(Object ob) { 181 if (super.equals(ob)) { 182 return true; 183 } 184 185 SelectableRange dest_range = (SelectableRange) ob; 186 return (getStart().valuesEqual(dest_range.getStart()) && 187 getEnd().valuesEqual(dest_range.getEnd()) && 188 getStartFlag() == dest_range.getStartFlag() && 189 getEndFlag() == dest_range.getEndFlag()); 190 } 191 192 194 197 public static final SelectableRange FULL_RANGE = 198 new SelectableRange(FIRST_VALUE, FIRST_IN_SET, LAST_VALUE, LAST_IN_SET); 199 200 203 public static final SelectableRange FULL_RANGE_NO_NULLS = 204 new SelectableRange(AFTER_LAST_VALUE, TObject.nullVal(), 205 LAST_VALUE, LAST_IN_SET); 206 207 208 } 209 | Popular Tags |