From fe58590338b4ab1aa85b73c4fe0258dccaf6f4fb Mon Sep 17 00:00:00 2001 From: Diomidis Spinellis Date: Sat, 20 Jul 2002 08:47:29 +0000 Subject: [PATCH] Added wholename option to print the whole class name. --- .../spinellis/umlgraph/doclet/ClassGraph.java | 29 ++++++++++++++----- .../spinellis/umlgraph/doclet/ClassInfo.java | 29 ++++++++++++++----- src/gr/spinellis/umlgraph/doclet/Options.java | 29 ++++++++++++++----- .../spinellis/umlgraph/doclet/StringUtil.java | 29 ++++++++++++++----- .../spinellis/umlgraph/doclet/UmlGraph.java | 29 ++++++++++++++----- src/org/umlgraph/doclet/ClassGraph.java | 29 ++++++++++++++----- src/org/umlgraph/doclet/ClassInfo.java | 29 ++++++++++++++----- src/org/umlgraph/doclet/Options.java | 29 ++++++++++++++----- src/org/umlgraph/doclet/StringUtil.java | 29 ++++++++++++++----- src/org/umlgraph/doclet/UmlGraph.java | 29 ++++++++++++++----- 10 files changed, 220 insertions(+), 70 deletions(-) diff --git a/src/gr/spinellis/umlgraph/doclet/ClassGraph.java b/src/gr/spinellis/umlgraph/doclet/ClassGraph.java index bd1cee9..3491347 100644 --- a/src/gr/spinellis/umlgraph/doclet/ClassGraph.java +++ b/src/gr/spinellis/umlgraph/doclet/ClassGraph.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/gr/spinellis/umlgraph/doclet/ClassInfo.java b/src/gr/spinellis/umlgraph/doclet/ClassInfo.java index bd1cee9..3491347 100644 --- a/src/gr/spinellis/umlgraph/doclet/ClassInfo.java +++ b/src/gr/spinellis/umlgraph/doclet/ClassInfo.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/gr/spinellis/umlgraph/doclet/Options.java b/src/gr/spinellis/umlgraph/doclet/Options.java index bd1cee9..3491347 100644 --- a/src/gr/spinellis/umlgraph/doclet/Options.java +++ b/src/gr/spinellis/umlgraph/doclet/Options.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/gr/spinellis/umlgraph/doclet/StringUtil.java b/src/gr/spinellis/umlgraph/doclet/StringUtil.java index bd1cee9..3491347 100644 --- a/src/gr/spinellis/umlgraph/doclet/StringUtil.java +++ b/src/gr/spinellis/umlgraph/doclet/StringUtil.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/gr/spinellis/umlgraph/doclet/UmlGraph.java b/src/gr/spinellis/umlgraph/doclet/UmlGraph.java index bd1cee9..3491347 100644 --- a/src/gr/spinellis/umlgraph/doclet/UmlGraph.java +++ b/src/gr/spinellis/umlgraph/doclet/UmlGraph.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/org/umlgraph/doclet/ClassGraph.java b/src/org/umlgraph/doclet/ClassGraph.java index bd1cee9..3491347 100644 --- a/src/org/umlgraph/doclet/ClassGraph.java +++ b/src/org/umlgraph/doclet/ClassGraph.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/org/umlgraph/doclet/ClassInfo.java b/src/org/umlgraph/doclet/ClassInfo.java index bd1cee9..3491347 100644 --- a/src/org/umlgraph/doclet/ClassInfo.java +++ b/src/org/umlgraph/doclet/ClassInfo.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/org/umlgraph/doclet/Options.java b/src/org/umlgraph/doclet/Options.java index bd1cee9..3491347 100644 --- a/src/org/umlgraph/doclet/Options.java +++ b/src/org/umlgraph/doclet/Options.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/org/umlgraph/doclet/StringUtil.java b/src/org/umlgraph/doclet/StringUtil.java index bd1cee9..3491347 100644 --- a/src/org/umlgraph/doclet/StringUtil.java +++ b/src/org/umlgraph/doclet/StringUtil.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush(); diff --git a/src/org/umlgraph/doclet/UmlGraph.java b/src/org/umlgraph/doclet/UmlGraph.java index bd1cee9..3491347 100644 --- a/src/org/umlgraph/doclet/UmlGraph.java +++ b/src/org/umlgraph/doclet/UmlGraph.java @@ -25,13 +25,15 @@ import java.util.*; class ClassGraph { private ClassDoc c; - private PrintWriter w; private static HashMap classnames = new HashMap(); private static int classnum; + private PrintWriter w; + private boolean stripPath; - ClassGraph(PrintWriter iw, ClassDoc ic) { + ClassGraph(PrintWriter iw, boolean isp, ClassDoc ic) { c = ic; w = iw; + stripPath = isp; } private String name(ClassDoc c) { @@ -42,11 +44,13 @@ class ClassGraph { name = "c" + (new Integer(classnum)).toString(); classnames.put(c, name); classnum++; - // Create readable string by stripping leading path String r = c.toString(); - int dotpos = r.lastIndexOf('.'); - if (dotpos != -1) - r = r.substring(dotpos + 1, r.length()); + if (stripPath) { + // Create readable string by stripping leading path + int dotpos = r.lastIndexOf('.'); + if (dotpos != -1) + r = r.substring(dotpos + 1, r.length()); + } // Create label w.print("\t" + name + " ["); w.print("label=\"" + r + "\""); @@ -70,6 +74,7 @@ class ClassGraph { public class UmlGraph { private static PrintWriter w; + private static boolean stripPath = true; public static boolean start(RootDoc root) throws IOException, UnsupportedEncodingException { @@ -78,12 +83,21 @@ public class UmlGraph { prologue(); ClassDoc[] classes = root.classes(); for (int i = 0; i < classes.length; i++) { - ClassGraph c = new ClassGraph(w, classes[i]); + ClassGraph c = new ClassGraph(w, stripPath, classes[i]); c.print(); } epilogue(); return true; } + + public static int optionLength(String option) { + if(option.equals("-wholename")) { + stripPath = false; + return 1; + } + return 0; + } + private static void prologue() { w.println( "#!/usr/local/bin/dot\n" + @@ -94,6 +108,7 @@ public class UmlGraph { "\tnode [fontname=\"Helvetica\",fontsize=8,shape=record];" ); } + private static void epilogue() { w.println("}\n"); w.flush();