blob: 278fe66057fc384d7a01266ac31e2723cd4511b8 [file] [log] [blame]
/*
* Copyright (c) 2013, 2020 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 v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Guy Pelletier - initial API and implementation
package org.eclipse.persistence.internal.jpa.config.sequencing;
import java.util.ArrayList;
import org.eclipse.persistence.internal.jpa.config.MetadataImpl;
import org.eclipse.persistence.internal.jpa.config.tables.IndexImpl;
import org.eclipse.persistence.internal.jpa.config.tables.UniqueConstraintImpl;
import org.eclipse.persistence.internal.jpa.metadata.sequencing.TableGeneratorMetadata;
import org.eclipse.persistence.internal.jpa.metadata.tables.IndexMetadata;
import org.eclipse.persistence.internal.jpa.metadata.tables.UniqueConstraintMetadata;
import org.eclipse.persistence.jpa.config.Index;
import org.eclipse.persistence.jpa.config.TableGenerator;
import org.eclipse.persistence.jpa.config.UniqueConstraint;
/**
* JPA scripting API implementation.
*
* @author Guy Pelletier
* @since EclipseLink 2.5.1
*/
public class TableGeneratorImpl extends MetadataImpl<TableGeneratorMetadata> implements TableGenerator {
public TableGeneratorImpl() {
super(new TableGeneratorMetadata());
getMetadata().setIndexes(new ArrayList<IndexMetadata>());
getMetadata().setUniqueConstraints(new ArrayList<UniqueConstraintMetadata>());
}
@Override
public Index addIndex() {
IndexImpl index = new IndexImpl();
getMetadata().getIndexes().add(index.getMetadata());
return index;
}
@Override
public UniqueConstraint addUniqueConstraint() {
UniqueConstraintImpl uniqueConstraint = new UniqueConstraintImpl();
getMetadata().getUniqueConstraints().add(uniqueConstraint.getMetadata());
return uniqueConstraint;
}
@Override
public TableGenerator setAllocationSize(Integer allocationSize) {
getMetadata().setAllocationSize(allocationSize);
return this;
}
@Override
public TableGenerator setCatalog(String catalog) {
getMetadata().setCatalog(catalog);
return this;
}
@Override
public TableGenerator setCreationSuffix(String creationSuffix) {
getMetadata().setCreationSuffix(creationSuffix);
return this;
}
@Override
public TableGenerator setInitialValue(Integer initialValue) {
getMetadata().setInitialValue(initialValue);
return this;
}
@Override
public TableGenerator setName(String name) {
getMetadata().setGeneratorName(name);
return this;
}
@Override
public TableGenerator setPKColumnName(String pkColumnName) {
getMetadata().setPkColumnName(pkColumnName);
return this;
}
@Override
public TableGenerator setPKColumnValue(String pkColumnValue) {
getMetadata().setPkColumnValue(pkColumnValue);
return this;
}
@Override
public TableGenerator setSchema(String schema) {
getMetadata().setSchema(schema);
return this;
}
@Override
public TableGenerator setTable(String table) {
getMetadata().setName(table);
return this;
}
@Override
public TableGenerator setValueColumnName(String valueColumnName) {
getMetadata().setValueColumnName(valueColumnName);
return this;
}
}