org.joinedworkz.common.SchemaCartridge Maven / Gradle / Ivy
package org.joinedworkz.common;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.joinedworkz.common.generator.CmnSchemaGenerator;
import org.joinedworkz.common.helper.CmnModelHelper;
import org.joinedworkz.common.helper.GeneratorHelper;
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;
@Singleton
@SuppressWarnings("all")
public class SchemaCartridge extends AbstractCartridge {
@Inject
protected CmnModelHelper cmnModelHelper;
@Inject
protected GeneratorHelper generatorHelper;
@Override
public void apply(final CmnObject obj, final Outlets outlets) {
final Outlet schemaOutlet = outlets.get("generatedSchema");
if ((obj instanceof CmnModel)) {
this.generateSchema(((CmnModel)obj), schemaOutlet);
}
}
public void generateSchema(final CmnModel model, final Outlet schemaOutlet) {
new CmnSchemaGenerator(model, schemaOutlet, this.cmnModelHelper, this.generatorHelper).generateSchema();
}
}