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. |