src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Extern.java

changeset 1373
4a1c57a1c410
parent 1372
78962d89f283
child 1376
217c265158fe
equal deleted inserted replaced
1372:78962d89f283 1373:4a1c57a1c410
136 /** 136 /**
137 * Convert a link to be an external link if appropriate. 137 * Convert a link to be an external link if appropriate.
138 * 138 *
139 * @param pkgName The package name. 139 * @param pkgName The package name.
140 * @param relativepath The relative path. 140 * @param relativepath The relative path.
141 * @param link The link to convert. 141 * @param filename The link to convert.
142 * @return if external return converted link else return null 142 * @return if external return converted link else return null
143 */ 143 */
144 public String getExternalLink(String pkgName, 144 public DocLink getExternalLink(String pkgName,
145 DocPath relativepath, String link) { 145 DocPath relativepath, String filename) {
146 return getExternalLink(pkgName, relativepath, filename, null);
147 }
148
149 public DocLink getExternalLink(String pkgName,
150 DocPath relativepath, String filename, String memberName) {
146 Item fnd = findPackageItem(pkgName); 151 Item fnd = findPackageItem(pkgName);
147 if (fnd != null) { 152 if (fnd == null)
148 String externlink = fnd.path + link; 153 return null;
149 if (fnd.relative) { // it's a relative path. 154
150 if (relativepath.isEmpty()) 155 DocPath p = fnd.relative ?
151 return externlink; 156 relativepath.resolve(fnd.path).resolve(filename) :
152 else 157 DocPath.create(fnd.path).resolve(filename);
153 return relativepath.getPath() + "/" + externlink; 158
154 } else { 159 return new DocLink(p, "is-external=true", memberName);
155 return externlink;
156 }
157 }
158 return null;
159 } 160 }
160 161
161 /** 162 /**
162 * Build the extern package list from given URL or the directory path. 163 * Build the extern package list from given URL or the directory path.
163 * Flag error if the "-link" or "-linkoffline" option is already used. 164 * Flag error if the "-link" or "-linkoffline" option is already used.

mercurial