
com.reprezen.genflow.rapidml.doc.xtend.XGenerateDoc.xtend Maven / Gradle / Ivy
/*******************************************************************************
* Copyright © 2013, 2016 Modelsolv, Inc.
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains the property
* of ModelSolv, Inc. See the file license.html in the root directory of
* this project for further information.
*******************************************************************************/
package com.reprezen.genflow.rapidml.doc.xtend
import com.reprezen.genflow.api.zenmodel.ZenModelOutputItem
import com.reprezen.genflow.common.doc.XDocHelper
import com.reprezen.genflow.common.xtend.XImportHelper
import com.reprezen.genflow.common.xtend.XLiveViewHelpers
import com.reprezen.genflow.common.xtend.XSecuritySchemeImportHelper
import com.reprezen.rapidml.ZenModel
class XGenerateDoc extends ZenModelOutputItem {
public static val URL_PREFIX_PARAM = 'urlPrefix'
public static val ANCHOR_NAME_PARAM = 'anchorName'
public static val PREVIEW_PARAM = 'preview'
val importHelper = new XImportHelper
val XSecuritySchemeImportHelper securitySchemeImportHelper = new XSecuritySchemeImportHelper()
extension XDocHelper docHelper
var XGenerateInterfaces genInterfaces = null
var XGenerateInterfaceDataModels genDataModels = null
var XGenerateSecuritySchemes genSecuritySchemes = null
override generate(ZenModel model) {
docHelper = new XDocHelper(context.primarySource?.inputFile?.toURI)
genInterfaces = new XGenerateInterfaces(importHelper, docHelper)
genDataModels = new XGenerateInterfaceDataModels(importHelper, docHelper)
genSecuritySchemes = new XGenerateSecuritySchemes(importHelper, securitySchemeImportHelper, docHelper)
val templateParam = context.getGenTargetParameters();
val urlPrefix = templateParam.get(URL_PREFIX_PARAM) as String
val anchorName = templateParam.get(ANCHOR_NAME_PARAM) as String
val boolean preview = true == templateParam.get(PREVIEW_PARAM)
importHelper.init(model)
securitySchemeImportHelper.init(model)
genInterfaces.isLiveView(preview)
'''
«model.nameOrTitle» Documentation
«IF preview»
«XLiveViewHelpers::generateErrorHandlerForLiveView»
«ENDIF»
«IF preview»
«XLiveViewHelpers::generateStylesForLiveView(urlPrefix + '../')»
«ENDIF»
«IF !preview»
«ENDIF»
«IF !preview»
«ENDIF»
«IF model.documentation !== null»
«ENDIF»
«IF preview»
«XLiveViewHelpers::generateJavaScriptForLiveView(anchorName)»
«ENDIF»
'''
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy