Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_5Composite.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_5Composite.java116
1 files changed, 116 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_5Composite.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_5Composite.java
new file mode 100644
index 0000000000..fb6c84643c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/details/orm/OrmEclipseLinkMappedSuperclass2_5Composite.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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.jpa.eclipselink.ui.internal.details.orm;
+
+import org.eclipse.jface.resource.ResourceManager;
+import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.QueryContainer;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3;
+import org.eclipse.jpt.jpa.eclipselink.ui.details.JptJpaEclipseLinkUiDetailsMessages;
+import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkMultitenancyComposite;
+import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.jpa2_1.details.Queries2_1Composite;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.Section;
+
+public class OrmEclipseLinkMappedSuperclass2_5Composite
+ extends AbstractOrmEclipseLinkMappedSuperclassComposite<OrmEclipseLinkMappedSuperclass>
+{
+
+ public OrmEclipseLinkMappedSuperclass2_5Composite(
+ PropertyValueModel<? extends OrmEclipseLinkMappedSuperclass> mappedSuperclassModel,
+ Composite parentComposite,
+ WidgetFactory widgetFactory,
+ ResourceManager resourceManager) {
+ super(mappedSuperclassModel, parentComposite, widgetFactory, resourceManager);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ this.initializeMappedSuperclassCollapsibleSection(container);
+ this.initializeCachingCollapsibleSection(container);
+ this.initializeQueriesCollapsibleSection(container);
+ this.initializeMultitenancyCollapsibleSection(container);
+ this.initializeGeneratorsCollapsibleSection(container);
+ this.initializeConvertersCollapsibleSection(container);
+ this.initializeAdvancedCollapsibleSection(container);
+ }
+
+ @Override
+ protected Control initializeCachingSection(Composite container) {
+ return new OrmEclipseLinkCaching2_0Composite(this, this.buildCachingModel(), container).getControl();
+ }
+
+ protected void initializeQueriesCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptJpaUiDetailsMessages.EntityComposite_queries);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeQueriesSection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeQueriesSection(Composite container) {
+ return new Queries2_1Composite(this, this.buildQueryContainerModel(), container).getControl();
+ }
+
+ private PropertyValueModel<QueryContainer> buildQueryContainerModel() {
+ return new PropertyAspectAdapter<OrmEclipseLinkMappedSuperclass, QueryContainer>(
+ getSubjectHolder()) {
+ @Override
+ protected QueryContainer buildValue_() {
+ return this.subject.getQueryContainer();
+ }
+ };
+ }
+
+ protected void initializeMultitenancyCollapsibleSection(Composite container) {
+ final Section section = this.getWidgetFactory().createSection(container, ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ section.setText(JptJpaEclipseLinkUiDetailsMessages.ECLIPSELINK_TYPE_MAPPING_COMPOSITE_MULTITENANCY);
+
+ section.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanging(ExpansionEvent e) {
+ if (e.getState() && section.getClient() == null) {
+ section.setClient(initializeMultitenancySection(section));
+ }
+ }
+ });
+ }
+
+ protected Control initializeMultitenancySection(Composite container) {
+ return new EclipseLinkMultitenancyComposite(this, this.buildMultitenancyModel(), container).getControl();
+ }
+
+ private PropertyAspectAdapter<OrmEclipseLinkMappedSuperclass, OrmEclipseLinkMultitenancy2_3> buildMultitenancyModel() {
+ return new PropertyAspectAdapter<OrmEclipseLinkMappedSuperclass, OrmEclipseLinkMultitenancy2_3>(getSubjectHolder()) {
+ @Override
+ protected OrmEclipseLinkMultitenancy2_3 buildValue_() {
+ return this.subject.getMultitenancy();
+ }
+ };
+ }
+
+}

Back to the top