blob: c586971351b011c2995ad568da154c0a9b7c140f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2010 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.core.internal.jpa2.context.orm;
import org.eclipse.jpt.core.context.XmlContextNode;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmSequenceGenerator;
import org.eclipse.jpt.core.jpa2.context.orm.OrmSequenceGenerator2_0;
import org.eclipse.jpt.core.resource.orm.XmlSequenceGenerator;
/**
* JPA 2.0
* <code>orm.xml</code> sequence generator
*/
public class GenericOrmSequenceGenerator2_0
extends AbstractOrmSequenceGenerator
implements OrmSequenceGenerator2_0
{
protected String specifiedCatalog;
protected String defaultCatalog;
protected String specifiedSchema;
protected String defaultSchema;
public GenericOrmSequenceGenerator2_0(XmlContextNode parent, XmlSequenceGenerator xmlSequenceGenerator) {
super(parent, xmlSequenceGenerator);
this.specifiedCatalog = xmlSequenceGenerator.getCatalog();
this.specifiedSchema = xmlSequenceGenerator.getSchema();
}
// ********** synchronize/update **********
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.setSpecifiedCatalog_(this.xmlGenerator.getCatalog());
this.setSpecifiedSchema_(this.xmlGenerator.getSchema());
}
@Override
public void update() {
super.update();
this.setDefaultCatalog(this.buildDefaultCatalog());
this.setDefaultSchema(this.buildDefaultSchema());
}
// ********** catalog **********
@Override
public String getCatalog() {
return (this.specifiedCatalog != null) ? this.specifiedCatalog : this.defaultCatalog;
}
public String getSpecifiedCatalog() {
return this.specifiedCatalog;
}
public void setSpecifiedCatalog(String catalog) {
this.setSpecifiedCatalog_(catalog);
this.xmlGenerator.setCatalog(catalog);
}
protected void setSpecifiedCatalog_(String catalog) {
String old = this.specifiedCatalog;
this.specifiedCatalog = catalog;
this.firePropertyChanged(SPECIFIED_CATALOG_PROPERTY, old, catalog);
}
public String getDefaultCatalog() {
return this.defaultCatalog;
}
protected void setDefaultCatalog(String catalog) {
String old = this.defaultCatalog;
this.defaultCatalog = catalog;
this.firePropertyChanged(DEFAULT_CATALOG_PROPERTY, old, catalog);
}
protected String buildDefaultCatalog() {
return this.getContextDefaultCatalog();
}
// ********** schema **********
@Override
public String getSchema() {
return (this.specifiedSchema != null) ? this.specifiedSchema : this.defaultSchema;
}
public String getSpecifiedSchema() {
return this.specifiedSchema;
}
public void setSpecifiedSchema(String schema) {
this.setSpecifiedSchema_(schema);
this.xmlGenerator.setSchema(schema);
}
protected void setSpecifiedSchema_(String schema) {
String old = this.specifiedSchema;
this.specifiedSchema = schema;
this.firePropertyChanged(SPECIFIED_SCHEMA_PROPERTY, old, schema);
}
public String getDefaultSchema() {
return this.defaultSchema;
}
protected void setDefaultSchema(String schema) {
String old = this.defaultSchema;
this.defaultSchema = schema;
this.firePropertyChanged(DEFAULT_SCHEMA_PROPERTY, old, schema);
}
protected String buildDefaultSchema() {
return this.getContextDefaultSchema();
}
}