All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.reprezen.genflow.rapidml.doc.xtend.XGenerateDoc.xtend Maven / Gradle / Ivy

There is a newer version: 1.4.2
Show newest version
/*******************************************************************************
 * 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»
«model.generateDocItem»
«ENDIF»
«genInterfaces.generateInterfaces(model)» «genDataModels.generateInterfaceDataModels(model)» «IF genSecuritySchemes.hasSecuritySchemes(model)» «genSecuritySchemes.generateSecuritySchemes(model)» «ENDIF»
«IF preview» «XLiveViewHelpers::generateJavaScriptForLiveView(anchorName)» «ENDIF» ''' } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy