@Override public void addColumn(Column column) { super.addColumn(column); column.setParent(this); }
table.addColumn(column); column.setParent(table);
public Column renameColumn(String oldName, String name, ColumnSet<?> table) { if (this.autoCorrectColumnNames) { name = name.replace(AbstractMetadataRecord.NAME_DELIM_CHAR, '_'); } else if (name.indexOf(AbstractMetadataRecord.NAME_DELIM_CHAR) != -1) { throw new MetadataException(DataPlugin.Event.TEIID60008, DataPlugin.Util.gs(DataPlugin.Event.TEIID60008, table.getFullName(), name)); } if (table.getColumnByName(name) != null) { throw new DuplicateRecordException(DataPlugin.Event.TEIID60016, DataPlugin.Util.gs(DataPlugin.Event.TEIID60016, table.getFullName() + AbstractMetadataRecord.NAME_DELIM_CHAR + name)); } Column column = table.getColumnByName(oldName); if (column == null) { throw new MetadataException(DataPlugin.Event.TEIID60011, DataPlugin.Util.gs(DataPlugin.Event.TEIID60011, table.getFullName(), oldName)); } table.removeColumn(column); column.setName(name); table.addColumn(column); return column; }
public static Column createElement(String name, ColumnSet<?> group, String type) { Column column = new Column(); column.setName(name); group.addColumn(column); column.setRuntimeType(type); if(type.equals(DataTypeManager.DefaultDataTypes.STRING)) { column.setSearchType(SearchType.Searchable); } else if (DataTypeManager.isNonComparable(type)){ column.setSearchType(SearchType.Unsearchable); } else { column.setSearchType(SearchType.All_Except_Like); } column.setNullType(NullType.Nullable); column.setPosition(group.getColumns().size()); //1 based indexing column.setUpdatable(true); column.setDatatype(SystemMetadata.getInstance().getRuntimeTypeMap().get(type), true, 0); if (DataTypeManager.hasLength(type) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.CHAR)) { column.setLength(100); } column.setNameInSource(name); return column; }