/** * Copyright (c) 2012 BMW Car IT and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jnario.doc; import com.google.common.base.Objects; import org.eclipse.xtend.core.xtend.XtendTypeDeclaration; import org.eclipse.xtext.generator.IFileSystemAccess; import org.jnario.doc.DocOutputConfigurationProvider; import org.jnario.doc.HtmlFile; import org.jnario.util.Strings; import org.jnario.util.XtendTypes; @SuppressWarnings("all") public class HtmlFileBuilder { public void generate(final XtendTypeDeclaration context, final IFileSystemAccess fsa, final HtmlFile htmlFile) { CharSequence _name = htmlFile.getName(); boolean _equals = Objects.equal(_name, null); if (_equals) { return; } final CharSequence content = htmlFile.toText(); String _filePath = this.filePath(context, htmlFile); fsa.generateFile(_filePath, DocOutputConfigurationProvider.DOC_OUTPUT, content); } public String toHtmlFileName(final CharSequence nameWithoutExtension) { String _string = null; if (nameWithoutExtension!=null) { _string=nameWithoutExtension.toString(); } String result = _string; String _trim = Strings.trim(result, '_'); return (_trim + ".html"); } private String filePath(final XtendTypeDeclaration xtendClass, final HtmlFile htmlFile) { CharSequence _name = htmlFile.getName(); String _htmlFileName = null; if (_name!=null) { _htmlFileName=this.toHtmlFileName(_name); } final String fileName = ("/" + _htmlFileName); String _packageName = XtendTypes.packageName(xtendClass); boolean _equals = Objects.equal(_packageName, null); if (_equals) { return fileName; } String _packageName_1 = XtendTypes.packageName(xtendClass); String _replaceAll = _packageName_1.replaceAll("\\.", "/"); String _plus = ("/" + _replaceAll); return (_plus + fileName); } }