org.joinedworkz.common.SchemaCartridge.xtend Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of common-base Show documentation
Show all versions of common-base Show documentation
DSL based modeling framework - facilities common base
package org.joinedworkz.common
import org.joinedworkz.common.generator.CmnSchemaGenerator
import org.joinedworkz.common.helper.CmnModelHelper
import org.joinedworkz.core.facility.AbstractCartridge
import org.joinedworkz.core.facility.Outlet
import org.joinedworkz.core.facility.Outlets
import org.joinedworkz.core.model.CmnModel
import org.joinedworkz.core.model.CmnObject
import javax.inject.Singleton
import javax.inject.Inject
import org.joinedworkz.common.helper.GeneratorHelper
import org.joinedworkz.common.helper.ScenarioHelper
@Singleton
class SchemaCartridge extends AbstractCartridge {
@Inject
protected CmnModelHelper cmnModelHelper
@Inject
protected GeneratorHelper generatorHelper
@Inject
protected ScenarioHelper scenarioHelper
override void apply(CmnObject obj, Outlets outlets) {
val schemaOutlet = outlets.get("generatedSchema")
if (obj instanceof CmnModel) {
obj.generateSchema(schemaOutlet)
}
}
def void generateSchema(CmnModel model,Outlet schemaOutlet) {
new CmnSchemaGenerator(model, schemaOutlet, cmnModelHelper, generatorHelper, scenarioHelper).generateSchema();
}
}