📄 externaldocset.java
字号:
/* gnu.classpath.tools.doclets.htmldoclet.ExternalDocSet Copyright (C) 2004 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version. GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING. If not, write to theFree Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307 USA. */package gnu.classpath.tools.doclets.htmldoclet;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.util.HashSet;import java.util.Properties;import java.util.Set;import com.sun.javadoc.ClassDoc;public class ExternalDocSet{ private String url; private String packageListDir; private URL docSetDirectoryURL; public String getPackageListDir() { return packageListDir; } public ExternalDocSet(String url, String packageListDir) { this.url = url; this.packageListDir = packageListDir; } private Set packageNames = new HashSet(); private boolean javadocCompatible; public void load(File targetDirectory) throws IOException, MalformedURLException { if (!url.endsWith("/")) { url += "/"; } this.docSetDirectoryURL = new URL(targetDirectory.toURL(), url); URL packageListDirURL; if (null != packageListDir) { if (!packageListDir.endsWith("/")) { packageListDir += "/"; } packageListDirURL = new URL(new File(System.getProperty("user.dir")).toURL(), packageListDir); } else { packageListDirURL = docSetDirectoryURL; } URL packageListURL = new URL(packageListDirURL, "package-list"); InputStream in = packageListURL.openStream(); if (null != in) { readPackages(in); in.close(); } else { throw new FileNotFoundException(packageListURL.toString()); } URL gjdocPropertiesURL = new URL(packageListDirURL, "gjdoc.properties"); try { InputStream propertiesIn = gjdocPropertiesURL.openStream(); if (null != in) { Properties properties = new Properties(); properties.load(propertiesIn); propertiesIn.close(); String gjdocCompatProperty = properties.getProperty("gjdoc.compat"); if (null != gjdocCompatProperty) { javadocCompatible = "true".equals(properties.getProperty("gjdoc.compat")); } else { javadocCompatible = true; } } else { javadocCompatible = true; } } catch (FileNotFoundException e) { javadocCompatible = true; } } public String getPackageDocURL(String packageName) { try { URL packageURL = new URL(docSetDirectoryURL, packageName.replace('.', '/')); return packageURL.toString(); } catch (MalformedURLException e) { // This should not happen since we know that packageName is a // proper Java identifiers, so the resulting URL can't be // invalid throw new RuntimeException(e); } } public String getClassDocURL(String packageName, String typeName) { try { URL fileURL = new URL(docSetDirectoryURL, packageName.replace('.', '/') + "/" + typeName + ".html"); return fileURL.toString(); } catch (MalformedURLException e) { // This should not happen since we know that packageName and // typeName are proper Java identifiers, so the resulting URL // can't be invalid throw new RuntimeException(e); } } protected void readPackages(InputStream in) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); String line; while ((line = reader.readLine()) != null) { line = line.trim(); packageNames.add(line); } } public Set getPackageNames() { return packageNames; } public boolean isJavadocCompatible() { return javadocCompatible; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -