diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Database.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Database.java | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Database.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Database.java deleted file mode 100644 index ab7f5656e9..0000000000 --- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/Database.java +++ /dev/null @@ -1,229 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.db.internal; - -import java.text.Collator; -import java.util.Iterator; -import java.util.Set; - -import org.eclipse.jpt.utility.internal.StringTools; -import org.eclipse.jpt.utility.internal.iterators.TransformationIterator; - -/** - * Database wrapper base class. - */ -public abstract class Database extends DTPWrapper implements Comparable<Database> { - - private boolean caseSensitive = false; // TODO allow user to configure - - // ********** constructors ********** - - static Database createDatabase( ConnectionProfile profile, org.eclipse.datatools.modelbase.sql.schema.Database dtpDatabase) { - return ( dtpDatabase == null) ? NullDatabase.instance() : new DTPDatabaseWrapper( profile, dtpDatabase); - } - - Database() { - super(); - } - - // ********** behavior ********** - - abstract void catalogChanged( Catalog catalog, int eventType); - - abstract void schemaChanged( Schema schema, int eventType); - - abstract void tableChanged( Table table, Schema schema, int eventType); - - abstract void refresh(); - - protected Schema wrap( org.eclipse.datatools.modelbase.sql.schema.Schema schema) { - return new Schema( this, schema); - } - - protected Catalog wrap( org.eclipse.datatools.modelbase.sql.schema.Catalog catalog) { - return new Catalog( this, catalog); - } - - // ********** queries ********** - - public abstract String getVendor(); - - public abstract String getVersion(); - - /** - * return the column for the specified dtp column - */ - Column column( org.eclipse.datatools.modelbase.sql.tables.Column dtpColumn) { - return this.table( dtpColumn.getTable()).column( dtpColumn); - } - - /** - * return the table for the specified dtp table - */ - Table table( org.eclipse.datatools.modelbase.sql.tables.Table dtpTable) { - return this.schema( dtpTable.getSchema()).table( dtpTable); - } - - // ********** Comparable implementation ********** - - public int compareTo( Database database) { - return Collator.getInstance().compare( this.getName(), database.getName()); - } - - // ***** caseSensitive - - public boolean isCaseSensitive() { - return this.caseSensitive; - } - - public void setCaseSensitive( boolean caseSensitive) { - this.caseSensitive = caseSensitive; - } - - // ***** catalogs - - abstract Set<Catalog> getCatalogs(); - - /** - * Returns true if this database accepts catalogs. - */ - public abstract boolean supportsCatalogs(); - - /** - * Returns the catalog to use by default. - */ - public abstract String getDefaultCatalogName(); - - public Iterator<Catalog> catalogs() { - return this.getCatalogs().iterator(); - } - - public int catalogSize() { - return this.getCatalogs().size(); - } - - public Iterator<String> catalogNames() { - return new TransformationIterator<Catalog, String>( this.catalogs()) { - @Override - protected String transform( Catalog catalog) { - return catalog.getName(); - } - }; - } - - public boolean containsCatalogNamed( String name) { - return this.catalogNamed( name) != null; - } - - public Catalog catalogNamed( String name) { - return this.isCaseSensitive() ? this.catalogNamedInternal( name) : this.catalogNamedIgnoreCase( name); - } - - private Catalog catalogNamedInternal( String name) { - for ( Iterator<Catalog> stream = this.catalogs(); stream.hasNext(); ) { - Catalog catalog = stream.next(); - if ( catalog.getName().equals( name)) { - return catalog; - } - } - return null; - } - - private Catalog catalogNamedIgnoreCase( String name) { - for ( Iterator<Catalog> stream = this.catalogs(); stream.hasNext(); ) { - Catalog catalog = stream.next(); - if ( StringTools.stringsAreEqualIgnoreCase( catalog.getName(), name)) { - return catalog; - } - } - return null; - } - - /** - * return the catalog for the specified dtp catalog - */ - Catalog catalog( org.eclipse.datatools.modelbase.sql.schema.Catalog dtpCatalog) { - for ( Iterator<Catalog> stream = this.catalogs(); stream.hasNext(); ) { - Catalog catalog = stream.next(); - if (catalog.wraps( dtpCatalog)) { - return catalog; - } - } - throw new IllegalArgumentException( "invalid dtp catalog: " + dtpCatalog); - } - - - // ***** schemata - - abstract Set<Schema> getSchemata(); - - public Iterator<Schema> schemata() { - return this.getSchemata().iterator(); - } - - public int schemataSize() { - return this.getSchemata().size(); - } - - public boolean schemataContains( Column column) { - return this.getSchemata().contains( column); - } - - public Iterator<String> schemaNames() { - return new TransformationIterator<Schema, String>( this.schemata()) { - @Override - protected String transform( Schema schema) { - return schema.getName(); - } - }; - } - - public boolean containsSchemaNamed( String name) { - return this.schemaNamed( name) != null; - } - - public Schema schemaNamed( String name) { - return this.isCaseSensitive() ? this.schemaNamedInternal( name) : this.schemaNamedIgnoreCase( name); - } - - private Schema schemaNamedInternal( String name) { - for ( Iterator<Schema> stream = this.schemata(); stream.hasNext(); ) { - Schema schema = stream.next(); - if ( schema.getName().equals( name)) { - return schema; - } - } - return null; - } - - private Schema schemaNamedIgnoreCase( String name) { - for ( Iterator<Schema> stream = this.schemata(); stream.hasNext(); ) { - Schema schema = stream.next(); - if ( StringTools.stringsAreEqualIgnoreCase( schema.getName(), name)) { - return schema; - } - } - return null; - } - - /** - * return the schema for the specified dtp schema - */ - Schema schema( org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) { - for ( Iterator<Schema> stream = this.schemata(); stream.hasNext(); ) { - Schema schema = stream.next(); - if ( schema.wraps( dtpSchema)) { - return schema; - } - } - throw new IllegalArgumentException( "invalid dtp schema: " + dtpSchema); - } - -} |