Fixed encoding bug,Added writeString support,Started on config bean.
This commit is contained in:
parent
8d71b63a6f
commit
6f2815491b
20 changed files with 319 additions and 95 deletions
|
|
@ -101,6 +101,7 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
List<String> navList = new ArrayList<String>(10);
|
||||
Map<String,String> navLinks = new HashMap<String,String>(10);
|
||||
Map<String,String> navNames = new HashMap<String,String>(10);
|
||||
Map<String,String> navTitles = new HashMap<String,String>(10);
|
||||
String pathPrefix;
|
||||
String prev;
|
||||
String next;
|
||||
|
|
@ -169,15 +170,19 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
for (String navKey:conf.navList) {
|
||||
String navName = conf.navNames.get(navKey);
|
||||
String navLink = conf.navLinks.get(navKey);
|
||||
String navTitle = conf.navTitles.get(navKey);
|
||||
String selectedCss = null;
|
||||
if (navKey.equals(conf.navSelected)) {
|
||||
selectedCss = "navBarCell1Rev";
|
||||
navLink = null; // disables link
|
||||
}
|
||||
if (navTitle==null) {
|
||||
navTitle = navName;
|
||||
}
|
||||
if (navLink==null) {
|
||||
printTagCharacters(Tag.li, navName, selectedCss);
|
||||
} else {
|
||||
docNavBarListItemHref(pathPrefix+navLink,navName,selectedCss);
|
||||
docNavBarListItemHref(pathPrefix+navLink,navName,navTitle,selectedCss,null,null);
|
||||
}
|
||||
}
|
||||
endElement("", "ul", "");
|
||||
|
|
@ -203,12 +208,12 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
if (conf.prev==null) {
|
||||
printTagCharacters(Tag.li, "Prev");
|
||||
} else {
|
||||
docNavBarListItemHref(pathPrefix+conf.prev,"Prev",null,"strong",null);
|
||||
docNavBarListItemHref(pathPrefix+conf.prev,"Prev","Previous Item",null,"strong",null);
|
||||
}
|
||||
if (conf.next==null) {
|
||||
printTagCharacters(Tag.li, "Next");
|
||||
} else {
|
||||
docNavBarListItemHref(pathPrefix+conf.next,"Next",null,"strong",null);
|
||||
docNavBarListItemHref(pathPrefix+conf.next,"Next","Next Item",null,"strong",null);
|
||||
}
|
||||
printTagEnd(Tag.ul);
|
||||
if (conf.frame!=null) {
|
||||
|
|
@ -223,7 +228,7 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
}
|
||||
if (conf.noFrameAllName!=null && conf.noFrameAllLink!=null) {
|
||||
printTagStart(Tag.ul,ApiDocContentCss.navList,"allclasses_"+barId);
|
||||
docNavBarListItemHref(pathPrefix+conf.noFrameAllLink,conf.noFrameAllName,null,null,null);
|
||||
docNavBarListItemHref(pathPrefix+conf.noFrameAllLink,conf.noFrameAllName,null,null,null,null);
|
||||
printTagEnd(Tag.ul);
|
||||
printTagStart(Tag.div);
|
||||
if (isTop) {
|
||||
|
|
@ -233,6 +238,7 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
}
|
||||
printTagEnd(Tag.div);
|
||||
}
|
||||
|
||||
String tabSpace = " | ";
|
||||
boolean printLink = conf.linkConstructors || conf.linkFields || conf.linkMethods;
|
||||
if (printLink) {
|
||||
|
|
@ -241,13 +247,13 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
printTagStart(Tag.li);charactersRaw("Summary: ");printTagEnd(Tag.li);
|
||||
//printTagText(Tag.li,"Nested | "); // TODO: Nested
|
||||
if (conf.linkFields) {
|
||||
docNavBarListItemHref("#field_summary",conf.linkFieldName,null,null,tabSpace);
|
||||
docNavBarListItemHrefLinkSpace("#field_summary",conf.linkFieldName);
|
||||
} else {
|
||||
printTagCharacters(Tag.li,conf.linkFieldName);charactersRaw(tabSpace);
|
||||
}
|
||||
|
||||
if (conf.linkConstructors) {
|
||||
docNavBarListItemHref("#constructor_summary",conf.linkConstructorName,null,null,tabSpace);
|
||||
docNavBarListItemHrefLinkSpace("#constructor_summary",conf.linkConstructorName);
|
||||
} else {
|
||||
printTagCharacters(Tag.li,conf.linkConstructorName);charactersRaw(tabSpace);
|
||||
}
|
||||
|
|
@ -262,12 +268,12 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
printTagStart(Tag.li);charactersRaw("Detail: ");printTagEnd(Tag.li);
|
||||
//printTagText(Tag.li,"Nested | ");
|
||||
if (conf.linkFields) {
|
||||
docNavBarListItemHref("#field_detail",conf.linkFieldName,null,null,tabSpace);
|
||||
docNavBarListItemHrefLinkSpace("#field_detail",conf.linkFieldName);
|
||||
} else {
|
||||
printTagCharacters(Tag.li,conf.linkFieldName);charactersRaw(tabSpace);
|
||||
}
|
||||
if (conf.linkConstructors) {
|
||||
docNavBarListItemHref("#constructor_detail",conf.linkConstructorName,null,null,tabSpace);
|
||||
docNavBarListItemHrefLinkSpace("#constructor_detail",conf.linkConstructorName);
|
||||
} else {
|
||||
printTagCharacters(Tag.li,conf.linkConstructorName);charactersRaw(tabSpace);
|
||||
}
|
||||
|
|
@ -286,12 +292,17 @@ public class ApiDocContentWriter extends ContentWriterHtml {
|
|||
comment("========= END OF "+barComment+" NAVBAR =======");
|
||||
}
|
||||
|
||||
private void docNavBarListItemHref(String href,String title,String cssClass) throws SAXException {
|
||||
docNavBarListItemHref(href, title, cssClass, null, null);
|
||||
private void docNavBarListItemHrefLinkSpace(String href,String title) throws SAXException {
|
||||
String tabSpace = " | ";
|
||||
docNavBarListItemHref(href, title, title, null, null, tabSpace);
|
||||
}
|
||||
private void docNavBarListItemHref(String href,String title,String cssClass,String spanCss,String linkSpace) throws SAXException {
|
||||
|
||||
private void docNavBarListItemHref(String href,String title, String cssClass) throws SAXException {
|
||||
docNavBarListItemHref(href, title, title, cssClass, null, null);
|
||||
}
|
||||
private void docNavBarListItemHref(String href,String title,String text,String cssClass,String spanCss,String linkSpace) throws SAXException {
|
||||
printTagStart(Tag.li,cssClass);
|
||||
printHref(href,title,title,spanCss);
|
||||
printHref(href,title,text,spanCss);
|
||||
charactersRaw(linkSpace);
|
||||
printTagEnd(Tag.li);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ package org.x4o.xml.eld.doc.api;
|
|||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.x4o.xml.eld.doc.api.dom.ApiDoc;
|
||||
|
|
@ -56,11 +55,11 @@ public class ApiDocNodeWriterBean implements ApiDocNodeWriter {
|
|||
|
||||
public ApiDocNodeWriterBean(ApiDocNodeBody nodeBody,Object bean,String method,Class<?>...classes) {
|
||||
this();
|
||||
this.nodeBody=nodeBody;
|
||||
this.bean=bean;
|
||||
this.method=method;
|
||||
if (classes!=null && classes.length>0) {
|
||||
targetClasses.addAll(Arrays.asList(classes));
|
||||
setNodeBody(nodeBody);
|
||||
setBean(bean);
|
||||
setMethod(method);
|
||||
for (Class<?> cl:classes) {
|
||||
addtargetClass(cl);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -91,10 +90,10 @@ public class ApiDocNodeWriterBean implements ApiDocNodeWriter {
|
|||
}
|
||||
|
||||
public void writeNodeContent(ApiDocWriteEvent<ApiDocNode> event) throws SAXException {
|
||||
Class<?> beanClass = bean.getClass();
|
||||
Class<?> beanClass = getBean().getClass();
|
||||
try {
|
||||
Method methodBean = beanClass.getMethod(method, new Class[]{ApiDocWriteEvent.class});
|
||||
methodBean.invoke(bean, new Object[]{event});
|
||||
Method methodBean = beanClass.getMethod(getMethod(), new Class[]{ApiDocWriteEvent.class});
|
||||
methodBean.invoke(getBean(), new Object[]{event});
|
||||
} catch (Exception e) {
|
||||
throw new SAXException(e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -244,6 +244,7 @@ public class ApiDocWriter {
|
|||
if (concept.getParent()!=null && !concept.getParent().getId().equals(doc.getRootNode().getId())) {
|
||||
ApiDocConcept conceptParent = concept.getParent();
|
||||
conf.navLinks.put(conceptParent.getId(), ApiDocContentWriter.toSafeUri(pathClean)+prefix+"/index.html");
|
||||
conf.navTitles.put(conceptParent.getId(), conceptParent.getDescriptionName());
|
||||
configActiveNavConceptLinks(conf,node,concept.getParent(),prefix+"/..");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,11 +60,6 @@ public class ApiDoc {
|
|||
treeNodeClassExcludes = new ArrayList<Class<?>>(5);
|
||||
}
|
||||
|
||||
public ApiDoc(ApiDocNode rootNode) {
|
||||
this();
|
||||
setRootNode(rootNode);
|
||||
}
|
||||
|
||||
public void checkModel() throws NullPointerException,IllegalArgumentException {
|
||||
checkNull(name,"name");
|
||||
checkNull(description,"description");
|
||||
|
|
@ -79,16 +74,16 @@ public class ApiDoc {
|
|||
throw new IllegalStateException("Can't work with empty nodeBodyWriters");
|
||||
}
|
||||
if (frameNavOverviewPrintParent==null) {
|
||||
frameNavOverviewPrintParent=false;
|
||||
setFrameNavOverviewPrintParent(false);
|
||||
}
|
||||
if (frameNavPrintParent==null) {
|
||||
frameNavPrintParent=false;
|
||||
setFrameNavPrintParent(false);
|
||||
}
|
||||
if (frameNavPrintParentParent==null) {
|
||||
frameNavPrintParentParent=false;
|
||||
setFrameNavPrintParentParent(false);
|
||||
}
|
||||
if (frameNavPrintParentId==null) {
|
||||
frameNavPrintParentId=false;
|
||||
setFrameNavPrintParentId(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue