001package com.randomnoun.common.db.to; 002 003import java.util.ArrayList; 004import java.util.HashMap; 005import java.util.List; 006import java.util.Map; 007 008/** Container class for per-owner (schema) data */ 009public class SchemaTO { 010 private DatabaseTO database; 011 012 private String name; 013 private Map<String, TableTO> tableMap; 014 private Map<String, TriggerTO> triggerMap; 015 016 /* 017 public List indexes; 018 public List views; 019 public List synonyms; 020 public List sequences; 021 public List clusters; 022 //public UserTypeTO userType; 023 //public SourceTypeTO sourceType; 024 //public SecurityTO security; 025 */ 026 027 public SchemaTO(DatabaseTO database, String schemaName) { 028 this.database = database; 029 this.name = schemaName; 030 tableMap = new HashMap<String, TableTO>(); 031 triggerMap = new HashMap<String, TriggerTO>(); 032 } 033 034 public TableTO getTable(String tableName) { 035 TableTO table = tableMap.get(database.upper(tableName)); 036 if (table == null) { 037 table = new TableTO(this, database.upper(tableName)); 038 tableMap.put(database.upper(tableName), table); 039 } 040 return table; 041 } 042 043 public String getName() { return name; } 044 public DatabaseTO getDatabase() { return database; } 045 046 public List<String> getTableNames() { 047 return new ArrayList<String>(tableMap.keySet()); 048 } 049 050 public List<String> getTriggerNames() { 051 return new ArrayList<String>(triggerMap.keySet()); 052 } 053 054 public Map<String, TableTO> getTableMap() { 055 return tableMap; 056 } 057 058 public void setTableMap(Map<String, TableTO> tableMap) { 059 this.tableMap = tableMap; 060 } 061 062 public Map<String, TriggerTO> getTriggerMap() { 063 return triggerMap; 064 } 065 066 public void setTriggerMap(Map<String, TriggerTO> triggerMap) { 067 this.triggerMap = triggerMap; 068 } 069 070 public void setDatabase(DatabaseTO database) { 071 this.database = database; 072 } 073 074 public void setName(String name) { 075 this.name = name; 076 } 077}