Skip to main content
summaryrefslogtreecommitdiffstats
blob: d26621e1acf23430e4cd70aadd925bcb50733e3a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * generated by Xtext
 */
package org.eclipse.fx.code.editor.ldef.generator

import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.xtext.generator.IGenerator
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.fx.code.editor.ldef.lDef.Root
import com.google.inject.Inject
import org.eclipse.fx.code.editor.ldef.lDef.JavaFXIntegration

/**
 * Generates code from your model files on save.
 *
 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
 */
class LDefGenerator implements IGenerator {
	@Inject
	JavaFXCodeGenerator generator;
	@Inject
	JSONConfigurationConfigurator jsonGenerator;
	@Inject
	DeclarativeStyleingGenerator styleGenerator;

	override void doGenerate(Resource resource, IFileSystemAccess fsa) {
		val root = resource.contents.head as Root
		jsonGenerator.generate(root.languageDefinition,fsa)
		styleGenerator.generate(root.languageDefinition,fsa);
		if( root.languageDefinition.integration != null ) {
			if( ! root.languageDefinition.integration.codeIntegrationList.filter(typeof(JavaFXIntegration)).empty ) {
				generator.generate(root.languageDefinition, fsa);
			}
		}
	}
}

Back to the top