summaryrefslogtreecommitdiffstats
path: root/src/java/net/highteq
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/net/highteq')
-rwxr-xr-xsrc/java/net/highteq/nativetaglet/NativeTaglet.java227
1 files changed, 0 insertions, 227 deletions
diff --git a/src/java/net/highteq/nativetaglet/NativeTaglet.java b/src/java/net/highteq/nativetaglet/NativeTaglet.java
deleted file mode 100755
index 5744253..0000000
--- a/src/java/net/highteq/nativetaglet/NativeTaglet.java
+++ /dev/null
@@ -1,227 +0,0 @@
-package net.highteq.nativetaglet;
-
-import com.sun.tools.doclets.Taglet;
-import com.sun.javadoc.*;
-
-import java.util.Map;
-import java.util.Properties;
-import java.util.Iterator;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-public class NativeTaglet implements Taglet
-{
- private Properties mapping= null;
- private static final String NAME = "native";
-
- /**
- * Return the name of this custom tag.
- */
- public String getName()
- {
- return NAME;
- }
-
- /**
- * @return true since this tag can be used in a field
- * doc comment
- */
- public boolean inField()
- {
- return true;
- }
-
- /**
- * @return true since this tag can be used in a constructor
- * doc comment
- */
- public boolean inConstructor()
- {
- return true;
- }
-
- /**
- * @return true since this tag can be used in a method
- * doc comment
- */
- public boolean inMethod()
- {
- return true;
- }
-
- /**
- * @return true since this tag can be used in an overview
- * doc comment
- */
- public boolean inOverview()
- {
- return true;
- }
-
- /**
- * @return true since this tag can be used in a package
- * doc comment
- */
- public boolean inPackage()
- {
- return true;
- }
-
- /**
- * @return true since this
- */
- public boolean inType()
- {
- return true;
- }
-
- /**
- * Will return true since this is an inline tag.
- *
- * @return true since this is an inline tag.
- */
-
- public boolean isInlineTag()
- {
- return true;
- }
-
- /**
- * Register this Taglet.
- *
- * @param tagletMap the map to register this tag to.
- */
- public static void register(Map tagletMap)
- {
- NativeTaglet tag = new NativeTaglet();
- Taglet t = (Taglet) tagletMap.get(tag.getName());
- if (t != null)
- {
- tagletMap.remove(tag.getName());
- }
- tagletMap.put(tag.getName(), tag);
- }
-
- /**
- * Given the <code>Tag</code> representation of this custom
- * tag, return its string representation.
- *
- * @param tag the <code>Tag</code> representation of this custom tag.
- */
- public String toString(Tag tag)
- {
- String text= tag.text().trim();
- if(mapping== null)
- {
- mapping= new Properties();
- InputStream in= null;
- try
- {
- URL url;
- try
- {
- url = new URL(System.getProperty("nativetaglet.mapping","file:native-taglet.properties"));
- }
- catch (MalformedURLException e)
- {
- url = new URL("file:"+System.getProperty("nativetaglet.mapping","file:native-taglet.properties"));
- }
- in= url.openStream();
- mapping.load(in);
- }
- catch (Exception e)
- {
- System.err.println("[NATIVE TAGLET] Could not read mapping file");
- System.err.println("-->");
- e.printStackTrace(System.err);
- System.err.println("<--");
- System.err.println("[NATIVE TAGLET] !!! NO LINKS WILL BE GENERATED !!!");
- }
- finally
- {
- if(in!=null) try{ in.close(); }catch(Exception ignore){}
- }
- }
-
- if(mapping!=null)
- {
- // First check to see whether this key exists in the mapping
- String url = mapping.getProperty(text);
- if (url == null) {
- // Try iterating the keySet seeing if we can find a partial match
- // In the OpenGL spec this handles the case of glVertex -> glVertex3f
- for(Iterator i= mapping.keySet().iterator(); i.hasNext();) {
- String name= (String) i.next();
- if (hasOpenGLSuffix(text, name)) {
- url = mapping.getProperty(name);
- break;
- }
- }
- }
- if (url != null) {
- url = mapping.getProperty("nativetaglet.baseUrl", "") + url;
- text = "<a href=\"" + url + "\">" + text + "</a>";
- }
- }
- return text;
- }
-
- private static final String[] openGLSuffixes = {
- "b",
- "s",
- "i",
- "f",
- "d",
- "ub",
- "us",
- "ui",
- "bv",
- "sv",
- "iv",
- "fv",
- "dv",
- "ubv",
- "usv",
- "uiv"
- };
- private static boolean hasOpenGLSuffix(String name,
- String baseName) {
- if (!name.startsWith(baseName)) {
- return false;
- }
- for (int i = 0; i < openGLSuffixes.length; i++) {
- String suffix = openGLSuffixes[i];
- if (name.endsWith(suffix)) {
- // First see whether it's a simple concatenation
- if (name.equals(baseName + suffix)) {
- return true;
- }
- // Now chop prefix and suffix off and see whether the
- // resulting is a number
- try {
- String tmp = name.substring(baseName.length(),
- name.length() - suffix.length());
- if (tmp.length() == 1 &&
- Character.isDigit(tmp.charAt(0))) {
- return true;
- }
- } catch (IndexOutOfBoundsException e) {
- }
- }
- }
- return false;
- }
-
- /**
- * This method should not be called since arrays of inline tags do not
- * exist. Method {@link #tostring(Tag)} should be used to convert this
- * inline tag to a string.
- *
- * @param tags the array of <code>Tag</code>s representing of this custom tag.
- */
- public String toString(Tag[] tags)
- {
- return null;
- }
-}