001 /* 002 * JBoss DNA (http://www.jboss.org/dna) 003 * See the COPYRIGHT.txt file distributed with this work for information 004 * regarding copyright ownership. Some portions may be licensed 005 * to Red Hat, Inc. under one or more contributor license agreements. 006 * See the AUTHORS.txt file in the distribution for a full listing of 007 * individual contributors. 008 * 009 * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA 010 * is licensed to you under the terms of the GNU Lesser General Public License as 011 * published by the Free Software Foundation; either version 2.1 of 012 * the License, or (at your option) any later version. 013 * 014 * JBoss DNA is distributed in the hope that it will be useful, 015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 017 * Lesser General Public License for more details. 018 * 019 * You should have received a copy of the GNU Lesser General Public 020 * License along with this software; if not, write to the Free 021 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 022 * 02110-1301 USA, or see the FSF site: http://www.fsf.org. 023 */ 024 package org.jboss.dna.common.jdbc.model.api; 025 026 /** 027 * Provides database table type specific metadata. 028 * <P> 029 * The table type is: 030 * <OL> 031 * <LI><B>TABLE_TYPE</B> String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", 032 * "LOCAL TEMPORARY", "ALIAS", "SYNONYM". 033 * </OL> 034 * 035 * @author <a href="mailto:litsenko_sergey@yahoo.com">Sergiy Litsenko</a> 036 */ 037 public interface TableType extends DatabaseNamedObject { 038 public static String DEF_TABLE_TYPE_TABLE = "TABLE"; 039 public static String DEF_TABLE_TYPE_VIEW = "VIEW"; 040 public static String DEF_TABLE_TYPE_SYS_TABLE = "SYSTEM TABLE"; 041 public static String DEF_TABLE_TYPE_GLOBAL_TEMP = "GLOBAL TEMPORARY"; 042 public static String DEF_TABLE_TYPE_LOCAL_TEMP = "LOCAL TEMPORARY"; 043 public static String DEF_TABLE_TYPE_ALIAS = "ALIAS"; 044 public static String DEF_TABLE_TYPE_SYNONYM = "SYNONYM"; 045 046 /** 047 * Is table type represents TABLE 048 * 049 * @param tableTypeName the table type string 050 * @return true if table type represents TABLE 051 */ 052 Boolean isTable( String tableTypeName ); 053 054 /** 055 * Is current table type represents TABLE 056 * 057 * @return true if current table type represents TABLE 058 */ 059 Boolean isTable(); 060 061 /** 062 * Is table type represents VIEW 063 * 064 * @param tableTypeName the table type string 065 * @return true if table type represents VIEW 066 */ 067 Boolean isView( String tableTypeName ); 068 069 /** 070 * Is current table type represents VIEW 071 * 072 * @return true if current table type represents VIEW 073 */ 074 Boolean isView(); 075 076 /** 077 * Is table type represents SYSTEM TABLE 078 * 079 * @param tableTypeName the table type string 080 * @return true if table type represents SYSTEM TABLE 081 */ 082 Boolean isSystemTable( String tableTypeName ); 083 084 /** 085 * Is current table type represents SYSTEM TABLE 086 * 087 * @return true if current table type represents SYSTEM TABLE 088 */ 089 Boolean isSystemTable(); 090 091 /** 092 * Is current table type represents GLOBAL TEMPORARY 093 * 094 * @param tableTypeName the table type string 095 * @return true if current table type represents GLOBAL TEMPORARY 096 */ 097 Boolean isGlobalTemporary( String tableTypeName ); 098 099 /** 100 * Is current table type represents GLOBAL TEMPORARY 101 * 102 * @return true if table type represents GLOBAL TEMPORARY 103 */ 104 Boolean isGlobalTemporary(); 105 106 /** 107 * Is table type represents LOCAL TEMPORARY 108 * 109 * @param tableTypeName the table type string 110 * @return true if table type represents LOCAL TEMPORARY 111 */ 112 Boolean islocalTemporary( String tableTypeName ); 113 114 /** 115 * Is current table type represents LOCAL TEMPORARY 116 * 117 * @return true if current table type represents LOCAL TEMPORARY 118 */ 119 Boolean isLocalTemporary(); 120 121 /** 122 * Is table type represents ALIAS 123 * 124 * @param tableTypeName the table type string 125 * @return true if table type represents ALIAS 126 */ 127 Boolean isAlias( String tableTypeName ); 128 129 /** 130 * Is current table type represents ALIAS 131 * 132 * @return true if current table type represents ALIAS 133 */ 134 Boolean isAlias(); 135 136 /** 137 * Is table type represents SYNONYM 138 * 139 * @param tableTypeName the table type string 140 * @return true if table type represents SYNONYM 141 */ 142 Boolean isSynonym( String tableTypeName ); 143 144 /** 145 * Is current table type represents SYNONYM 146 * 147 * @return true if current table type represents SYNONYM 148 */ 149 Boolean isSynonym(); 150 }