/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.tools.workbench.mappingsmodel.project.relational; import org.eclipse.persistence.tools.workbench.mappingsmodel.MWModel; import org.eclipse.persistence.descriptors.ClassDescriptor; import org.eclipse.persistence.oxm.XMLDescriptor; public class MWTableGenerationPolicy extends MWModel { private volatile String defaultPrimaryKeyName; public final static String DEFAULT_PRIMARY_KEY_NAME_PROPERTY = "defaultPrimaryKeyName"; private volatile String primaryKeySearchPattern; public final static String PRIMARY_KEY_SEARCH_PATTERN_PROPERTY = "primaryKeySearchPattern"; // ********** static methods ********** public static XMLDescriptor buildDescriptor() { XMLDescriptor descriptor = new XMLDescriptor(); descriptor.setJavaClass(MWTableGenerationPolicy.class); descriptor.addDirectMapping("defaultPrimaryKeyName", "default-primary-key-name/text()"); descriptor.addDirectMapping("primaryKeySearchPattern", "primary-key-search-pattern/text()"); return descriptor; } /** * default constructor - for TopLink use only */ private MWTableGenerationPolicy() { // for TopLink use only super(); } public MWTableGenerationPolicy(MWRelationalProject project) { super(project); //set defaults: this.defaultPrimaryKeyName = "ID"; this.primaryKeySearchPattern = "*ID"; } public String getDefaultPrimaryKeyName() { return this.defaultPrimaryKeyName; } public void setDefaultPrimaryKeyName(String newDefaultPrimaryKeyName) { String oldDefaultPrimaryKeyName = this.defaultPrimaryKeyName; this.defaultPrimaryKeyName = newDefaultPrimaryKeyName; firePropertyChanged(DEFAULT_PRIMARY_KEY_NAME_PROPERTY, oldDefaultPrimaryKeyName, newDefaultPrimaryKeyName); } public String getPrimaryKeySearchPattern() { return this.primaryKeySearchPattern; } public void setPrimaryKeySearchPattern(String newPrimaryKeySearchPattern) { String oldPrimaryKeySearchPattern = this.primaryKeySearchPattern; this.primaryKeySearchPattern = newPrimaryKeySearchPattern; firePropertyChanged(PRIMARY_KEY_SEARCH_PATTERN_PROPERTY, oldPrimaryKeySearchPattern, newPrimaryKeySearchPattern); } //********** display methods *********** public void toString(StringBuffer sb) { sb.append("Default PK Name="); sb.append(this.getDefaultPrimaryKeyName()); sb.append(" PK Search Pattern="); sb.append(this.getPrimaryKeySearchPattern()); } }