rwaldhoff 2002/10/23 16:54:16
Modified: jelly/src/java/org/apache/commons/jelly/util
TagXMLDoclet.java
Log:
add nominal support for {@link} tags within the tag reference
(better still to link these to the appropriate tag if available, but this at least
renders correctly)
Revision Changes Path
1.4 +35 -27
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/util/TagXMLDoclet.java
Index: TagXMLDoclet.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/util/TagXMLDoclet.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TagXMLDoclet.java 22 Jul 2002 10:49:11 -0000 1.3
+++ TagXMLDoclet.java 23 Oct 2002 23:54:16 -0000 1.4
@@ -81,6 +81,7 @@
*
* @author <a href="mailto:gopi@;aztecsoft.com">Gopinath M.R.</a>
* @author <a href="mailto:jstrachan@;apache.org">James Strachan</a>
+ * @author Rodney Waldhoff
*/
// #### somehow we need to handle taglib inheritence...
@@ -276,38 +277,45 @@
*/
private void docXML(Doc doc) throws SAXException {
cm.startElement(xmlns, localName, "doc", emptyAtts);
- String commentText = doc.commentText();
- if (! commentText.equals("")) {
- parseHTML(commentText);
- // cm.characters(commentText.toCharArray(), 0, commentText.length());
- }
- Tag[] tags = doc.tags();
- for (int i = 0; i < tags.length; ++i) {
- javadocTagXML(tags[i]);
- }
- cm.endElement(xmlns, localName, "doc");
-/*
- String commentText = "";
- boolean createDoc = false;
- commentText = doc.commentText();
- if (! commentText.equals("")) {
- createDoc = true;
- }
- Tag[] tags = doc.tags();
- if (tags.length > 0) {
- createDoc = true;
- }
- if (createDoc) {
- cm.startElement(xmlns, localName, "doc", emptyAtts);
- if (! commentText.equals("")) {
- cm.characters(commentText.toCharArray(), 0, commentText.length());
+ // handle the "comment" part, including {@link} tags
+ {
+ Tag[] tags = doc.inlineTags();
+ for(int i=0;i<tags.length;i++) {
+ // if tags[i] is an @link tag
+ if(tags[i] instanceof SeeTag) {
+ String label = ((SeeTag)tags[i]).label();
+ // if the label is null or empty, use the class#member part of
the link
+ if(null == label || "".equals(label)) {
+ StringBuffer buf = new StringBuffer();
+ String className = ((SeeTag)tags[i]).referencedClassName();
+ if("".equals(className)) { className = null; }
+ String memberName =
((SeeTag)tags[i]).referencedMemberName();
+ if("".equals(memberName)) { memberName = null; }
+ if(null != className) {
+ buf.append(className);
+ if(null != memberName) {
+ buf.append(".");
+ }
+ }
+ if(null != memberName) {
+ buf.append(memberName);
+ }
+ label = buf.toString();
+ }
+ parseHTML(label);
+ } else {
+ parseHTML(tags[i].text());
+ }
}
+ }
+ // handle the "tags" part
+ {
+ Tag[] tags = doc.tags();
for (int i = 0; i < tags.length; ++i) {
javadocTagXML(tags[i]);
}
- cm.endElement(xmlns, localName, "doc");
}
-*/
+ cm.endElement(xmlns, localName, "doc");
}
protected void parseHTML(String text) throws SAXException {
--
To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>