package org.whole.lang.models.codebase; import org.whole.lang.builders.IBuilderOperation; import org.whole.lang.templates.AbstractTemplateFactory; public class FeatureModelModel extends AbstractTemplateFactory<org.whole.lang.models.model.Model> { public void apply(IBuilderOperation op) { org.whole.lang.models.builders.IModelsBuilder b0 = (org.whole.lang.models.builders.IModelsBuilder) op.wGetBuilder(org.whole.lang.models.reflect.ModelsLanguageKit.URI); b0.Model_(); b0.SimpleName("FeatureModel"); b0.TypeRelations_(0); b0._TypeRelations(); b0.ModelDeclarations_(47); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("FeatureModel"); b0.Types_(0); b0._Types(); b0.Features_(7); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Name"); b0.SimpleName("name"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Version"); b0.SimpleName("version"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("URI"); b0.SimpleName("uri"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Stage"); b0.SimpleName("stage"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("URI"); b0.SimpleName("specialize"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Features"); b0.SimpleName("features"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("Constraints"); b0.SimpleName("constraints"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.EnumEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Stage"); b0.Types_(0); b0._Types(); b0.EnumValues_(3); b0.EnumValue("DEFINITION"); b0.EnumValue("SPECIALIZATION"); b0.EnumValue("CONFIGURATION"); b0._EnumValues(); b0._EnumEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Features"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("Feature"); b0._CompositeEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Subfeatures"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("Subfeature"); b0._CompositeEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("VariableFeatures"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("VariableFeature"); b0._CompositeEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("SolitaryFeatures"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("SolitaryFeature"); b0._CompositeEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(1); b0.EntityModifier("abstract"); b0._EntityModifiers(); b0.SimpleName("Subfeature"); b0.Types_(0); b0._Types(); b0.Features_(0); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("SubsetGroup"); b0.Types_(1); b0.SimpleName("Subfeature"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("Cardinality"); b0.SimpleName("cardinality"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("VariableFeatures"); b0.SimpleName("features"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("CloneGroup"); b0.Types_(1); b0.SimpleName("Subfeature"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("Cardinality"); b0.SimpleName("cardinality"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("SolitaryFeatures"); b0.SimpleName("features"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("VariableFeature"); b0.Types_(1); b0.SimpleName("Subfeature"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("SolitaryFeature"); b0.SimpleName("feature"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("VariableValue"); b0.SimpleName("value"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(1); b0.EntityModifier("abstract"); b0._EntityModifiers(); b0.SimpleName("SolitaryFeature"); b0.Types_(1); b0.SimpleName("Subfeature"); b0._Types(); b0.Features_(1); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Name"); b0.SimpleName("name"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("FeatureReference"); b0.Types_(1); b0.SimpleName("SolitaryFeature"); b0._Types(); b0.Features_(0); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Feature"); b0.Types_(1); b0.SimpleName("SolitaryFeature"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("Annotations"); b0.SimpleName("annotations"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("Subfeatures"); b0.SimpleName("features"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Attribute"); b0.Types_(1); b0.SimpleName("SolitaryFeature"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Domain"); b0.SimpleName("domain"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("Value"); b0.SimpleName("value"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.EnumEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Domain"); b0.Types_(0); b0._Types(); b0.EnumValues_(9); b0.EnumValue("BOOLEAN"); b0.EnumValue("BYTE"); b0.EnumValue("SHORT"); b0.EnumValue("INT"); b0.EnumValue("LONG"); b0.EnumValue("FLOAT"); b0.EnumValue("DOUBLE"); b0.EnumValue("CHAR"); b0.EnumValue("STRING"); b0._EnumValues(); b0._EnumEntity(); b0.EnumEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("VariableValue"); b0.Types_(0); b0._Types(); b0.EnumValues_(4); b0.EnumValue("NOT_SELECTED"); b0.EnumValue("SELECTED"); b0.EnumValue("EXCLUDED"); b0.EnumValue("REQUIRED"); b0._EnumValues(); b0._EnumEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(1); b0.EntityModifier("abstract"); b0._EntityModifiers(); b0.SimpleName("Value"); b0.Types_(0); b0._Types(); b0.Features_(0); b0._Features(); b0._SimpleEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("BooleanValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("boolean"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("ByteValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("byte"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("ShortValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("short"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("IntValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("int"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("LongValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("long"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("FloatValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("float"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("DoubleValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("double"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("CharValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("char"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("StringValue"); b0.Types_(1); b0.SimpleName("Value"); b0._Types(); b0.DataType("String"); b0._DataEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Annotations"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("Annotation"); b0._CompositeEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(1); b0.EntityModifier("abstract"); b0._EntityModifiers(); b0.SimpleName("Annotation"); b0.Types_(0); b0._Types(); b0.Features_(0); b0._Features(); b0._SimpleEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Description"); b0.Types_(1); b0.SimpleName("Annotation"); b0._Types(); b0.DataType("String"); b0._DataEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Categories"); b0.Types_(1); b0.SimpleName("Annotation"); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("Name"); b0._CompositeEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Stakeholders"); b0.Types_(1); b0.SimpleName("Annotation"); b0._Types(); b0.ComponentModifiers_(1); b0.ComponentModifier("ordered"); b0._ComponentModifiers(); b0.SimpleName("Name"); b0._CompositeEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Priority"); b0.Types_(1); b0.SimpleName("Annotation"); b0._Types(); b0.DataType("int"); b0._DataEntity(); b0.EnumEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("BindingTime"); b0.Types_(1); b0.SimpleName("Annotation"); b0._Types(); b0.EnumValues_(2); b0.EnumValue("USE_TIME"); b0.EnumValue("REUSE_TIME"); b0._EnumValues(); b0._EnumEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("CustomAnnotation"); b0.Types_(1); b0.SimpleName("Annotation"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Name"); b0.SimpleName("name"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Value"); b0.SimpleName("value"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Constraints"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(0); b0._ComponentModifiers(); b0.SimpleName("Constraint"); b0._CompositeEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(1); b0.EntityModifier("abstract"); b0._EntityModifiers(); b0.SimpleName("Constraint"); b0.Types_(0); b0._Types(); b0.Features_(0); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Require"); b0.Types_(1); b0.SimpleName("Constraint"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("FeaturePath"); b0.SimpleName("feature"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("FeaturePaths"); b0.SimpleName("requiredFeatures"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Exclude"); b0.Types_(1); b0.SimpleName("Constraint"); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("FeaturePath"); b0.SimpleName("feature"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("FeaturePaths"); b0.SimpleName("excludedFeatures"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("FeaturePaths"); b0.Types_(0); b0._Types(); b0.ComponentModifiers_(0); b0._ComponentModifiers(); b0.SimpleName("FeaturePath"); b0._CompositeEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("MutuallyRequire"); b0.Types_(1); b0.SimpleName("Constraint"); b0._Types(); b0.ComponentModifiers_(0); b0._ComponentModifiers(); b0.SimpleName("FeaturePath"); b0._CompositeEntity(); b0.CompositeEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("MutuallyExclude"); b0.Types_(1); b0.SimpleName("Constraint"); b0._Types(); b0.ComponentModifiers_(0); b0._ComponentModifiers(); b0.SimpleName("FeaturePath"); b0._CompositeEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("FeaturePath"); b0.Types_(0); b0._Types(); b0.Features_(3); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("FeaturePath"); b0.SimpleName("context"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Distance"); b0.SimpleName("distance"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("Name"); b0.SimpleName("feature"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0.EnumEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Distance"); b0.Types_(0); b0._Types(); b0.EnumValues_(2); b0.EnumValue("PARENT"); b0.EnumValue("ANCESTOR"); b0._EnumValues(); b0._EnumEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Name"); b0.Types_(0); b0._Types(); b0.DataType("String"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Version"); b0.Types_(0); b0._Types(); b0.DataType("String"); b0._DataEntity(); b0.DataEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("URI"); b0.Types_(0); b0._Types(); b0.DataType("String"); b0._DataEntity(); b0.SimpleEntity_(); b0.EntityModifiers_(0); b0._EntityModifiers(); b0.SimpleName("Cardinality"); b0.Types_(0); b0._Types(); b0.Features_(2); b0.Feature_(); b0.FeatureModifiers_(0); b0._FeatureModifiers(); b0.SimpleName("IntValue"); b0.SimpleName("min"); b0._Feature(); b0.Feature_(); b0.FeatureModifiers_(1); b0.FeatureModifier("optional"); b0._FeatureModifiers(); b0.SimpleName("IntValue"); b0.SimpleName("max"); b0._Feature(); b0._Features(); b0._SimpleEntity(); b0._ModelDeclarations(); b0.Namespace("org.whole.lang.featuremodel"); org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b1.Resolver(); b0.URI("http://lang.whole.org/FeatureModel"); b0._Model(); } }