📄 xmlexampletaglet.java
字号:
/* * YALE - Yet Another Learning Environment * Copyright (C) 2002, 2003 * Simon Fischer, Ralf Klinkenberg, Ingo Mierswa, * Katharina Morik, Oliver Ritthoff * Artificial Intelligence Unit * Computer Science Department * University of Dortmund * 44221 Dortmund, Germany * email: yale@ls8.cs.uni-dortmund.de * web: http://yale.cs.uni-dortmund.de/ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. */package edu.udo.cs.yale.doc;import edu.udo.cs.yale.tools.Tools;import com.sun.tools.doclets.*;import com.sun.javadoc.*;import java.util.Map;import java.io.*;public class XMLExampleTaglet implements TexTaglet { private static final String NAME = "yale.xmlinput"; public String getName() { return NAME; } public boolean inField() { return true; } public boolean inConstructor() { return true; } public boolean inMethod() { return true; } public boolean inOverview() { return true; } public boolean inPackage() { return true; } public boolean inType() { return true; } public boolean isInlineTag() { return true; } public static void register(Map tagletMap) { XMLExampleTaglet tag = new XMLExampleTaglet(); Taglet t = (Taglet) tagletMap.get(tag.getName()); if (t != null) { tagletMap.remove(tag.getName()); } tagletMap.put(tag.getName(), tag); } private String[] split(Tag tag) { String[] result = tag.text().split("\\|"); if (result.length != 3) { System.err.println("Usage: {@"+getName()+" filename|label|caption} (was: "+tag.text()+") ("+tag.position()+")"); return null; } return result; } private File resolve(String file, SourcePosition source) { return new File(source.file().getParentFile(), file); } public String toString(Tag tag) { String[] splitted = split(tag); if (splitted == null) return ""; File file = resolve(splitted[0], tag.position()); String contents = null; if (file.exists()) { try { contents = Tools.readTextFile(file); contents = contents.replaceAll("<", "<"); contents = contents.replaceAll(">", ">"); } catch (IOException e) { contents = "Cannot read file '"+file+"': "+e; System.err.println(tag.position()+": cannot read file '"+file+"'!"); } } else { contents = "File '"+file+"' does not exist!"; System.err.println(tag.position()+": File '"+file+"' does not exist!"); } return "<pre>"+contents+"</pre><br><center><i>Figure:</i> "+splitted[2]+"</center>"; } public String toString(Tag[] tags) { return null; } public String toTex(Tag tag) { String[] splitted = split(tag); if (splitted == null) return ""; File file = resolve(splitted[0], tag.position()); if (!file.exists()) { System.err.println(tag.position()+": File '"+file+"' does not exist!"); return ""; } else { return "\\examplefile{" + file.getAbsolutePath() + "}{" + splitted[1] + "}{" + splitted[2] + "}"; } } public String toTex(Tag[] tag) { return null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -