Search in sources :

Example 1 with AbstractTemplateFactory

use of org.whole.lang.templates.AbstractTemplateFactory in project whole by wholeplatform.

the class ModelsArtifactsTemplateManager method newModelArtifact.

public ITemplateFactory<Workspace> newModelArtifact(final EntityDescriptor<?> fileContentRootED) {
    return new AbstractTemplateFactory<Workspace>() {

        public void apply(org.whole.lang.builders.IBuilderOperation op) {
            IArtifactsBuilder b0 = (IArtifactsBuilder) op.wGetBuilder(ArtifactsLanguageKit.URI);
            ICommonsBuilder cb = (ICommonsBuilder) op.wGetBuilder(CommonsLanguageKit.URI);
            b0.Workspace_();
            cb.Resolver();
            b0.Projects_(1);
            b0.Project_();
            cb.Variable("projectName", ArtifactsEntityDescriptorEnum.Name, QuantifierEnum.MANDATORY);
            cb.Resolver();
            b0.Metadata();
            b0.Artifacts_(1);
            b0.FolderArtifact_();
            cb.Variable("sourceFolderName", ArtifactsEntityDescriptorEnum.Name, QuantifierEnum.MANDATORY);
            b0.Metadata();
            b0.Artifacts_(1);
            b0.PackageArtifact_();
            cb.Variable("packageName", ArtifactsEntityDescriptorEnum.Name, QuantifierEnum.MANDATORY);
            b0.Metadata();
            b0.Artifacts_(1);
            b0.FileArtifact_();
            b0.NameWithExtension_();
            cb.Variable("modelFileName", ArtifactsEntityDescriptorEnum.Name, QuantifierEnum.MANDATORY);
            b0.Extension("java");
            b0._NameWithExtension();
            b0.Metadata_();
            b0.wFeature(ArtifactsFeatureDescriptorEnum.persistenceKitId);
            b0.PersistenceKitId("org.whole.lang.java.codebase.JavaBuilderPersistenceKit");
            b0._Metadata();
            cb.StageUpFragment_();
            cb.Variable("modelFileContent", fileContentRootED, QuantifierEnum.MANDATORY);
            cb._StageUpFragment();
            b0._FileArtifact();
            b0._Artifacts();
            b0._PackageArtifact();
            b0._Artifacts();
            b0._FolderArtifact();
            b0._Artifacts();
            b0._Project();
            b0._Projects();
            b0._Workspace();
        }
    };
}
Also used : IArtifactsBuilder(org.whole.lang.artifacts.builders.IArtifactsBuilder) AbstractTemplateFactory(org.whole.lang.templates.AbstractTemplateFactory) ICommonsBuilder(org.whole.lang.commons.builders.ICommonsBuilder)

Aggregations

IArtifactsBuilder (org.whole.lang.artifacts.builders.IArtifactsBuilder)1 ICommonsBuilder (org.whole.lang.commons.builders.ICommonsBuilder)1 AbstractTemplateFactory (org.whole.lang.templates.AbstractTemplateFactory)1