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;
025    
026    import org.jboss.dna.common.jdbc.model.api.*;
027    import org.jboss.dna.common.jdbc.model.spi.*;
028    
029    /**
030     * Database metadata objects creation factory
031     * 
032     * @author <a href="mailto:litsenko_sergey@yahoo.com">Sergiy Litsenko</a>
033     */
034    public class DefaultModelFactory implements ModelFactory {
035        // ~ Constructors ---------------------------------------------------------------------
036    
037        /**
038         * Default constructor
039         */
040        public DefaultModelFactory() {
041        }
042    
043        // ~ Methods --------------------------------------------------------------------------
044    
045        /**
046         * Creates Attribute
047         * 
048         * @return Attribute
049         */
050        public Attribute createAttribute() {
051            return new AttributeBean();
052        }
053    
054        /**
055         * Creates BestRowIdentifier
056         * 
057         * @return BestRowIdentifier object
058         */
059        public BestRowIdentifier createBestRowIdentifier() {
060            return new BestRowIdentifierBean();
061        }
062    
063        /**
064         * Creates Catalog
065         * 
066         * @return Catalog object
067         */
068        public Catalog createCatalog() {
069            return new CatalogBean();
070        }
071    
072        /**
073         * Creates Database
074         * 
075         * @return Database object
076         */
077        public Database createDatabase() {
078            return new DatabaseBean();
079        }
080    
081        /**
082         * Creates ForeignKey
083         * 
084         * @return ForeignKey object
085         */
086        public ForeignKey createForeignKey() {
087            return new ForeignKeyBean();
088        }
089    
090        /**
091         * Creates ForeignKeyColumn
092         * 
093         * @return ForeignKeyColumn object
094         */
095        public ForeignKeyColumn createForeignKeyColumn() {
096            return new ForeignKeyColumnBean();
097        }
098    
099        /**
100         * Creates Index
101         * 
102         * @return Index object
103         */
104        public Index createIndex() {
105            return new IndexBean();
106        }
107    
108        /**
109         * Creates IndexColumn
110         * 
111         * @return IndexColumn object
112         */
113        public IndexColumn createIndexColumn() {
114            return new IndexColumnBean();
115        }
116    
117        /**
118         * Creates Parameter
119         * 
120         * @return Parameter object
121         */
122        public Parameter createParameter() {
123            return new ParameterBean();
124        }
125    
126        /**
127         * Creates PrimaryKey
128         * 
129         * @return PrimaryKey object
130         */
131        public PrimaryKey createPrimaryKey() {
132            return new PrimaryKeyBean();
133        }
134    
135        /**
136         * Creates PrimaryKeyColumn
137         * 
138         * @return PrimaryKeyColumn object
139         */
140        public PrimaryKeyColumn createPrimaryKeyColumn() {
141            return new PrimaryKeyColumnBean();
142        }
143    
144        /**
145         * Creates Privilege
146         * 
147         * @return Privilege object
148         */
149        public Privilege createPrivilege() {
150            return new PrivilegeBean();
151        }
152    
153        /**
154         * Creates Reference
155         * 
156         * @return Reference object
157         */
158        public Reference createReference() {
159            return new ReferenceBean();
160        }
161    
162        /**
163         * Creates Schema
164         * 
165         * @return Schema object
166         */
167        public Schema createSchema() {
168            return new SchemaBean();
169        }
170    
171        /**
172         * Creates SqlTypeConversionPair
173         * 
174         * @return SqlTypeConversionPair object
175         */
176        public SqlTypeConversionPair createSqlTypeConversionPair() {
177            return new SqlTypeConversionPairBean();
178        }
179    
180        /**
181         * Creates SqlTypeInfo
182         * 
183         * @return SqlTypeInfo object
184         */
185        public SqlTypeInfo createSqlTypeInfo() {
186            return new SqlTypeInfoBean();
187        }
188    
189        /**
190         * Creates StoredProcedure
191         * 
192         * @return StoredProcedure object
193         */
194        public StoredProcedure createStoredProcedure() {
195            return new StoredProcedureBean();
196        }
197    
198        /**
199         * Creates Table
200         * 
201         * @return Table object
202         */
203        public Table createTable() {
204            return new TableBean();
205        }
206    
207        /**
208         * Creates TableColumn
209         * 
210         * @return TableColumn object
211         */
212        public TableColumn createTableColumn() {
213            return new TableColumnBean();
214        }
215    
216        /**
217         * Creates TableType
218         * 
219         * @return TableType object
220         */
221        public TableType createTableType() {
222            return new TableTypeBean();
223        }
224    
225        /**
226         * Creates UserDefinedType
227         * 
228         * @return UserDefinedType object
229         */
230        public UserDefinedType createUserDefinedType() {
231            return new UserDefinedTypeBean();
232        }
233    
234    }