001package com.randomnoun.common.db.to; 002 003import java.util.ArrayList; 004import java.util.LinkedHashMap; 005import java.util.List; 006import java.util.Map; 007 008public class TableTO { 009 private String name; 010 private SchemaTO schema; 011 private Map<String, TableColumnTO> tableColumnMap; 012 private Map<String, ConstraintTO> constraintMap; 013 private Map<String, TriggerTO> triggerMap; 014 015 public TableTO(SchemaTO schema, String tableName) { 016 this.schema = schema; 017 this.name = tableName; 018 this.tableColumnMap = new LinkedHashMap<String, TableColumnTO>(); 019 this.constraintMap = new LinkedHashMap<String, ConstraintTO>(); 020 this.triggerMap = new LinkedHashMap<String, TriggerTO>(); 021 022 } 023 024 public TableColumnTO getTableColumn(String name) { 025 TableColumnTO column = tableColumnMap.get(name); 026 if (column==null) { throw new IllegalArgumentException("Column '" + name + "' not found"); } 027 return column; 028 }; 029 030 public List<TableColumnTO> getTableColumns() { 031 return new ArrayList<TableColumnTO>(tableColumnMap.values()); 032 } 033 034 public List<String> getTableColumnNames() { 035 return new ArrayList<String>(tableColumnMap.keySet()); 036 } 037 public String getName() { return name; } 038 public SchemaTO getSchema() { return schema; } 039 040 public Map<String, TableColumnTO> getTableColumnMap() { 041 return tableColumnMap; 042 } 043 044 public void setTableColumnMap(Map<String, TableColumnTO> tableColumnMap) { 045 this.tableColumnMap = tableColumnMap; 046 } 047 048 public Map<String, ConstraintTO> getConstraintMap() { 049 return constraintMap; 050 } 051 052 public void setConstraintMap(Map<String, ConstraintTO> constraintMap) { 053 this.constraintMap = constraintMap; 054 } 055 056 public Map<String, TriggerTO> getTriggerMap() { 057 return triggerMap; 058 } 059 060 public void setTriggerMap(Map<String, TriggerTO> triggerMap) { 061 this.triggerMap = triggerMap; 062 } 063 064 public void setName(String name) { 065 this.name = name; 066 } 067 068 public void setSchema(SchemaTO schema) { 069 this.schema = schema; 070 } 071 072}