function renderLink (docEl, param) { var text = ""; if (docEl.getType () == docEl.APPLICATION || docEl.getType () == docEl.PROTOTYPE) { text = docEl.getName (); } else if (docEl.getType () == docEl.SKIN) { text = docEl.getName () + ".skin"; } else if (docEl.getType () == docEl.MACRO) { if (param.handler!="false" && docEl.getParentElement () && docEl.getParentElement().getName()!="global") { text = docEl.getParentElement ().getName () + "."; } var str = docEl.getName (); if (str.indexOf("_macro")) { text += str.substring (0, str.length-6); } } else if (docEl.getType () == docEl.FUNCTION) { var text = docEl.getName () + " ("; var arr = docEl.listParameters (); for (var i=0; i'; } function renderLinkTag (param) { var sb = new java.lang.StringBuffer (); sb.append (''); return sb.toString (); } /** * renders the name of the location relative to the application * root. */ function renderLocation (docEl, param) { var f = docEl.getLocation (); if (f.isDirectory ()) return f.getName (); else { return f.getParentFile ().getName () + "/" + f.getName (); } } /** * renders tag list. * @param param.skin skin to render on found DocTags * @param param.separator String printed between tags * @param param.type type string (param|return|author|version|see) to filter tags. */ function renderTags (docEl, param) { var skinname = (param.skin) ? param.skin : "main"; var type = param.type; if (type=="params") type = "param"; else if (type=="returns") type = "return"; else if (type=="arg") type = "param"; var str = ""; var arr = docEl.listTags (); for (var i=0; i' + text + ''; } else { // make sure we only use the first item in the text so that unlinked comments // can follow, store & split the that var tok = new java.util.StringTokenizer (text); var tmp = tok.nextToken (); text = " " + text.substring (tmp.length + 1); var parts = tmp.split("."); // try to find the application object var obj = docEl; while (obj!=null) { if (obj.getType () == Packages.helma.doc.DocElement.APPLICATION) { var appObj = obj; break; } obj = obj.getParentElement (); } var protoObj = appObj.getChildElement ("prototype_" + parts[0]); if (protoObj==null) { // prototype wasn't found, return the unlinked tag return tmp + text; } if (parts.length==1) { // no function specified, return the linked prototype return '' + format (tmp) + '' + text; } // try to find a function object: var arr = protoObj.listChildren (); for (var i=0; i' + format(tmp) + '' + text; } } // function not found: return tmp + text; } } /** * function rendering a comment. * @param param.length comment is shortened to the given length. * @returns string */ function renderComment (docEl, param) { var str = docEl.getComment (); if (param.length) { if (param.length < str.length) { return str.substring (0, param.length) + " ..."; } } return str; }