blob: b7603147380e6cf3cb96a44a4dc113a1c181ab18 [file] [log] [blame]
/**
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* 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:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*/
package org.eclipse.osbp.xtext.strategy.generator;
import com.google.common.base.Objects;
import java.util.ArrayList;
import javax.inject.Inject;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.osbp.ecview.core.common.context.IViewContext;
import org.eclipse.osbp.ecview.core.common.model.core.YElement;
import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
import org.eclipse.osbp.ecview.core.common.model.core.YField;
import org.eclipse.osbp.ecview.core.common.model.core.YFocusable;
import org.eclipse.osbp.ecview.core.common.model.core.YLayout;
import org.eclipse.osbp.ecview.core.common.model.core.YView;
import org.eclipse.osbp.ecview.core.common.services.IWidgetAssocationsService;
import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
import org.eclipse.osbp.ecview.core.extension.model.extension.YCssLayout;
import org.eclipse.osbp.ecview.core.extension.model.extension.YFormLayout;
import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout;
import org.eclipse.osbp.ecview.core.extension.model.extension.YHorizontalLayout;
import org.eclipse.osbp.ecview.core.extension.model.extension.YVerticalLayout;
import org.eclipse.osbp.ecview.core.util.emf.ModelUtil;
import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
import org.eclipse.osbp.ecview.extension.model.YSuspect;
import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
import org.eclipse.osbp.runtime.common.keystroke.KeyCode;
import org.eclipse.osbp.runtime.common.keystroke.ModifierKey;
import org.eclipse.osbp.xtext.addons.AdvancedJvmModelGenerator;
import org.eclipse.osbp.xtext.basic.generator.BasicDslGeneratorUtils;
import org.eclipse.xtext.common.types.JvmGenericType;
import org.eclipse.xtext.common.types.JvmType;
import org.eclipse.xtext.common.types.JvmTypeReference;
import org.eclipse.xtext.xbase.compiler.GeneratorConfig;
import org.eclipse.xtext.xbase.compiler.ImportManager;
import org.eclipse.xtext.xbase.compiler.output.TreeAppendable;
import org.eclipse.xtext.xbase.lib.Extension;
/**
* Generates code from your model files on save.
*
* see http://www.eclipse.org/Xtext/documentation.html#TutorialCodeGeneration
*/
@SuppressWarnings("all")
public class StrategyDSLGenerator extends AdvancedJvmModelGenerator {
@Inject
@Extension
private BasicDslGeneratorUtils _basicDslGeneratorUtils;
@Override
public TreeAppendable createAppendable(final EObject context, final ImportManager importManager, final GeneratorConfig config) {
TreeAppendable _xblockexpression = null;
{
if ((context instanceof JvmGenericType)) {
EList<JvmTypeReference> _superTypes = ((JvmGenericType) context).getSuperTypes();
for (final JvmTypeReference superType : _superTypes) {
JvmType _type = superType.getType();
boolean _notEquals = (!Objects.equal(_type, null));
if (_notEquals) {
this.setBuilder(((JvmGenericType)context).eResource());
this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, ArrayList.class, YView.class, IViewContext.class, IWidgetAssocationsService.class, YElement.class, YFocusable.class, YLayout.class, YHorizontalLayout.class, YVerticalLayout.class, YGridLayout.class, YFormLayout.class, YCssLayout.class, YEmbeddable.class, YField.class, ModelUtil.class, KeyCode.class, ModifierKey.class, ExtensionModelFactory.class, YECviewFactory.class, YDelegatingFocusingStrategy.class, YSuspect.class, YSuspectInfo.class, YStrategyLayout.class, YLayoutingInfo.class);
}
}
}
_xblockexpression = super.createAppendable(context, importManager, config);
}
return _xblockexpression;
}
}