Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/SequenceGeneratorComposite.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/SequenceGeneratorComposite.java136
1 files changed, 136 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/SequenceGeneratorComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/SequenceGeneratorComposite.java
new file mode 100644
index 0000000000..7879e9721f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/SequenceGeneratorComposite.java
@@ -0,0 +1,136 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 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.ui.internal.details;
+
+import java.util.Collection;
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.GeneratorContainer;
+import org.eclipse.jpt.core.context.IdMapping;
+import org.eclipse.jpt.core.context.SequenceGenerator;
+import org.eclipse.jpt.db.Schema;
+import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.ui.internal.details.db.SequenceCombo;
+import org.eclipse.jpt.ui.internal.widgets.Pane;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | ----------------------------------------------------- |
+ * | Name: | I | |
+ * | ----------------------------------------------------- |
+ * | ----------------------------------------------------- |
+ * | Sequence Generator: | SequenceCombo | |
+ * | ----------------------------------------------------- |
+ * | ------------- |
+ * | Allocation Size: | I |I| |
+ * | ------------- |
+ * | ------------- |
+ * | Initial Value: | |I| |
+ * | ------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see IdMapping
+ * @see SequenceGenerator
+ * @see IdMappingGenerationComposite - The parent container
+ * @see SequenceCombo
+ *
+ * @version 2.2
+ * @since 1.0
+ */
+public class SequenceGeneratorComposite extends GeneratorComposite<SequenceGenerator>
+{
+
+ public SequenceGeneratorComposite(Pane<?> parentPane,
+ PropertyValueModel<SequenceGenerator> subjectHolder,
+ Composite parent,
+ GeneratorBuilder<SequenceGenerator> builder) {
+
+ super(parentPane, subjectHolder, parent, builder);
+ }
+
+ @Override
+ protected String getPropertyName() {
+ return GeneratorContainer.SEQUENCE_GENERATOR_PROPERTY;
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // Name widgets
+ addLabeledText(
+ container,
+ JptUiDetailsMessages.SequenceGeneratorComposite_name,
+ buildGeneratorNameHolder(),
+ JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_NAME
+ );
+
+ // Sequence Generator widgets
+ addLabeledComposite(
+ container,
+ JptUiDetailsMessages.SequenceGeneratorComposite_sequence,
+ buildSequenceNameCombo(container),
+ JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_SEQUENCE
+ );
+
+ addAllocationSizeCombo(container);
+ addInitialValueCombo(container);
+ }
+
+ protected SequenceCombo<SequenceGenerator> buildSequenceNameCombo(Composite parent) {
+
+ return new SequenceCombo<SequenceGenerator>(this, getSubjectHolder(), parent) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(SequenceGenerator.DEFAULT_SEQUENCE_NAME_PROPERTY);
+ propertyNames.add(SequenceGenerator.SPECIFIED_SEQUENCE_NAME_PROPERTY);
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return this.getSubject().getDefaultSequenceName();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ retrieveGenerator().setSpecifiedSequenceName(value);
+ }
+
+ @Override
+ protected String getValue() {
+ return (getSubject() == null) ? null : getSubject().getSpecifiedSequenceName();
+ }
+
+ @Override
+ protected boolean nullSubjectIsAllowed() {
+ return true;
+ }
+
+ /**
+ * subject may be null, so delegate to the composite
+ */
+ @Override
+ protected JpaProject getJpaProject() {
+ return SequenceGeneratorComposite.this.getJpaProject();
+ }
+
+ @Override
+ protected Schema getDbSchema_() {
+ return this.getSubject().getDbSchema();
+ }
+
+ };
+ }
+
+} \ No newline at end of file

Back to the top