1 package com.daffodilwoods.daffodildb.server.sql99.dql.resultsetmetadata; 2 3 import java.text.*; 4 5 import com.daffodilwoods.daffodildb.server.sql99.common.*; 6 import com.daffodilwoods.database.resource.*; 7 import com.daffodilwoods.daffodildb.server.datadictionarysystem._ColumnCharacteristics; 8 9 22 public class ForeignTableColumnCharacteristics implements _SelectColumnCharacteristics { 23 24 int[] columnIndexesOrignal = null; 25 int[] columnIndexesDuplicate = null; 26 _SelectColumnCharacteristics parentSelectCharacteristics = null; 27 String [] columns = null; 28 ColumnDetails cd = null; 29 String [] requiredColumns = null; 30 31 public ForeignTableColumnCharacteristics(String [] colmns, int[] orig) throws DException { 32 columns = colmns; 33 columnIndexesOrignal = orig; 34 setDuplicateColumns(); 35 requiredColumns = new String [columnIndexesOrignal.length]; 36 } 37 38 private void setDuplicateColumns() { 39 int len = columnIndexesOrignal.length; 40 columnIndexesDuplicate = new int[len]; 41 for (int i = 0; i < len; i++) { 42 columnIndexesDuplicate[i] = i; 43 } 44 } 45 46 public void setColumnDetails(ColumnDetails cd) { 47 this.cd = cd; 48 } 49 50 public void setParentSelectColumnCharacteristics(_SelectColumnCharacteristics parentSelectCharacteristics) throws DException { 51 this.parentSelectCharacteristics = parentSelectCharacteristics; 52 for (int i = 0; i < columnIndexesOrignal.length; i++) { 53 requiredColumns[i] = parentSelectCharacteristics.getColumnName(columnIndexesOrignal[i]); 54 } 55 } 56 57 public boolean isColumnUpdatable(int parm1) throws com.daffodilwoods.database.resource.DException { 58 return parentSelectCharacteristics.isColumnUpdatable(columnIndexesOrignal[parm1 - 1]); 59 } 60 61 public boolean isUpdatable() throws com.daffodilwoods.database.resource.DException { 62 return parentSelectCharacteristics.isUpdatable(); 63 } 64 65 public boolean isColumnSelectable(int parm1) throws com.daffodilwoods.database.resource.DException { 66 return parentSelectCharacteristics.isColumnSelectable(columnIndexesOrignal[parm1 - 1]); 67 } 68 69 public _SelectColumnCharacteristics getColumnCharacteristics(int parm1) throws com.daffodilwoods.database.resource.DException { 70 return parentSelectCharacteristics.getColumnCharacteristics(columnIndexesOrignal[parm1 - 1]); 71 } 72 73 public boolean isForeignTableRecordFetched(int parm1) throws com.daffodilwoods.database.resource.DException { 74 return parentSelectCharacteristics.isForeignTableRecordFetched(columnIndexesOrignal[parm1 - 1]); 75 } 76 77 public int getSelectedIndex(int parm1) throws com.daffodilwoods.database.resource.DException { 78 return columnIndexesOrignal[parm1 - 1]; 79 } 80 81 public int getSelectedIndex(String parm1) throws com.daffodilwoods.database.resource.DException { 82 int len = requiredColumns.length; 83 for (int i = 0; i < len; i++) { 84 if (requiredColumns[i].equalsIgnoreCase(parm1)) { 85 return columnIndexesOrignal[i]; 86 } 87 } 88 return -1; 89 } 90 91 public int getColumnType(int parm1) throws com.daffodilwoods.database.resource.DException { 92 return parentSelectCharacteristics.getColumnType(columnIndexesOrignal[parm1 - 1]); 93 } 94 95 public int getColumnIndex(String parm1) throws com.daffodilwoods.database.resource.DException { 96 int len = requiredColumns.length; 97 for (int i = 0; i < len; i++) { 98 if (requiredColumns[i].equalsIgnoreCase(parm1)) { 99 return i + 1; 100 } 101 } 102 return -1; 103 } 104 105 public String getColumnName(int parm1) throws com.daffodilwoods.database.resource.DException { 106 return parentSelectCharacteristics.getColumnName(parm1); 107 } 108 109 public String getRelatedTable(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 110 return parentSelectCharacteristics.getRelatedTable(columnIndexesOrignal[parm1 - 1]); 111 } 112 113 public String [] getRelatedColumns(int index) throws DException { 114 return parentSelectCharacteristics.getRelatedColumns(columnIndexesOrignal[index - 1]); 115 } 116 117 public int getColumnCount() throws com.daffodilwoods.database.resource.DException { 118 return columnIndexesDuplicate.length; 119 } 120 121 public String [] getColumnNames() throws com.daffodilwoods.database.resource.DException { 122 return requiredColumns; 123 } 124 125 public int getSize(int parm1) throws com.daffodilwoods.database.resource.DException { 126 return parentSelectCharacteristics.getSize(columnIndexesOrignal[parm1 - 1]); 127 } 128 129 public String [] getPrimaryKeys() throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 130 return parentSelectCharacteristics.getPrimaryKeys(); 131 } 132 133 public String getRelation(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 134 return parentSelectCharacteristics.getRelation(columnIndexesOrignal[parm1 - 1]); 135 } 136 137 public int[] getColumnIndexes(String [] parm1) throws com.daffodilwoods.database.resource.DException { 138 139 throw new java.lang.UnsupportedOperationException ("Method getColumnIndexes() not yet implemented."); 140 } 141 142 public int[] getPrimaryConditionColumns() throws com.daffodilwoods.database.resource.DException { 143 return parentSelectCharacteristics.getPrimaryConditionColumns(); 144 } 145 146 public String getTableName(int parm1) throws com.daffodilwoods.database.resource.DException, com.daffodilwoods.database.general.DatabaseException { 147 return parentSelectCharacteristics.getTableName(columnIndexesOrignal[parm1 - 1]); 148 } 149 150 public short getTableType() throws com.daffodilwoods.database.resource.DException { 151 return parentSelectCharacteristics.getTableType(); 152 } 153 154 public int getPrecision(int parm1) throws com.daffodilwoods.database.resource.DException { 155 return parentSelectCharacteristics.getPrecision(columnIndexesOrignal[parm1 - 1]); 156 } 157 158 public int getScale(int parm1) throws com.daffodilwoods.database.resource.DException { 159 return parentSelectCharacteristics.getScale(columnIndexesOrignal[parm1 - 1]); 160 } 161 162 public String getSchemaName(int parm1) throws com.daffodilwoods.database.resource.DException { 163 return parentSelectCharacteristics.getSchemaName(columnIndexesOrignal[parm1 - 1]); 164 } 165 166 public String getCatalogName(int parm1) throws com.daffodilwoods.database.resource.DException { 167 return parentSelectCharacteristics.getCatalogName(columnIndexesOrignal[parm1 - 1]); 168 } 169 170 public int isNullable(int parm1) throws com.daffodilwoods.database.resource.DException { 171 return parentSelectCharacteristics.isNullable(columnIndexesOrignal[parm1 - 1]); 172 } 173 174 public boolean isAutoIncrement(int parm1) throws com.daffodilwoods.database.resource.DException { 175 return parentSelectCharacteristics.isAutoIncrement(columnIndexesOrignal[parm1 - 1]); 176 } 177 178 public String getColumnLabel(int parm1) throws com.daffodilwoods.database.resource.DException { 179 return parentSelectCharacteristics.getColumnLabel(columnIndexesOrignal[parm1 - 1]); 180 } 181 182 public String getQualifiedTableName(int parm1) throws com.daffodilwoods.database.resource.DException { 183 return parentSelectCharacteristics.getQualifiedTableName(columnIndexesOrignal[parm1 - 1]); 184 } 185 186 public String getExpression(int index) throws DException { 187 return parentSelectCharacteristics.getExpression(columnIndexesOrignal[index - 1]); 188 } 189 190 public Collator getCollator() throws DException { 191 192 throw new UnsupportedOperationException ("Method not yet implemented"); 193 } 194 195 public Object [] getCorresspondingColumnsForFromSubQueryColumn(Object column) throws DException { 196 throw new UnsupportedOperationException ("Method not yet implemented"); 197 } 198 199 public _ColumnCharacteristics getCCFromIndexes(_ColumnCharacteristics cc, int offset, int[] columnIndexes) throws DException { 200 throw new UnsupportedOperationException ("getCCFromIndexes(cc, offset, columnIndexes) method not implemented yet"); 201 } 202 } 203 | Popular Tags |