/* gnu.classpath.tools.gjdoc.ClassDocProxy Copyright (C) 2001 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath 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, or (at your option) any later version. GNU Classpath 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 GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ package gnu.classpath.tools.gjdoc; import com.sun.javadoc.*; import java.io.*; public class ClassDocProxy implements ClassDoc, WritableType { private String name; private String qualifiedName; private ClassDoc classContext; private String dimension = ""; public ClassDocProxy(String qualifiedName, ClassDoc classContext) { this.qualifiedName = Main.getRootDoc().resolveClassName(qualifiedName, (ClassDocImpl)classContext); this.classContext=classContext; int pndx=qualifiedName.lastIndexOf('.'); if (pndx>=0) { this.name=qualifiedName.substring(pndx+1); } else { this.name=qualifiedName; } } private final String errorText() { return "CLASS "+qualifiedName+" NOT LOADED."; } public ConstructorDoc[] constructors() { return new ConstructorDoc[0]; } public ConstructorDoc[] constructors(boolean filtered) { return new ConstructorDoc[0]; } public boolean definesSerializableFields() { return false; } public FieldDoc[] fields() { return new FieldDoc[0]; } public FieldDoc[] fields(boolean filtered) { return new FieldDoc[0]; } public ClassDoc findClass(java.lang.String className) { return null; } public ClassDoc[] importedClasses() { return new ClassDoc[0]; } public PackageDoc[] importedPackages() { return new PackageDoc[0]; } public ClassDoc[] innerClasses() { return new ClassDoc[0]; } public ClassDoc[] innerClasses(boolean filtered) { return new ClassDoc[0]; } public ClassDoc[] interfaces() { return new ClassDoc[0]; } public boolean isAbstract() { return false; } public boolean isExternalizable() { return false; } public boolean isSerializable() { return false; } public MethodDoc[] methods() { return new MethodDoc[0]; } public MethodDoc[] methods(boolean filtered) { return new MethodDoc[0]; } public FieldDoc[] serializableFields() { return new FieldDoc[0]; } public MethodDoc[] serializationMethods() { return new MethodDoc[0]; } public boolean subclassOf(ClassDoc cd) { return false; } public ClassDoc superclass() { return null; } public ClassDoc containingClass() { return null; } public PackageDoc containingPackage() { /* try { File file=Main.getRootDoc().findScheduledClass(qualifiedName, classContext); if (file!=null) { //String clsName=file.getCanonicalFile().getAbsolutePath().substring(new File(Main.getRootDoc().getSourcePath()).getCanonicalFile().getAbsolutePath().length()+1); String clsName=file.getAbsolutePath().substring(new File(Main.getRootDoc().getSourcePath()).getAbsolutePath().length()+1); clsName=clsName.substring(0,clsName.length()-5).replace(File.separatorChar,'.'); Debug.log(9,"ClassDocProxy '"+qualifiedName+"': found class "+clsName); qualifiedName=clsName; } return new PackageDocImpl("test."); } catch (Exception e) { return PackageDocImpl.DEFAULT_PACKAGE; } */ return PackageDocImpl.DEFAULT_PACKAGE; } public boolean isFinal() { return false; } public boolean isPackagePrivate() { return false; } public boolean isPrivate() { return false; } public boolean isProtected() { return false; } public boolean isPublic() { return false; } public boolean isStatic() { return false; } public String modifiers() { return ""; } public int modifierSpecifier() { return 0; } public String qualifiedName() { return qualifiedName; } public String commentText() { return null; } public Tag[] firstSentenceTags() { return new Tag[0]; } public String getRawCommentText() { return null; } public Tag[] inlineTags() { return new Tag[0]; } public boolean isClass() { return false; } public boolean isConstructor() { return false; } public boolean isError() { return false; } public boolean isException() { return false; } public boolean isField() { return false; } public boolean isIncluded() { return false; } public boolean isInterface() { return false; } public boolean isMethod() { return false; } public boolean isOrdinaryClass() { return false; } public String name() { return name; } public SourcePosition position() { return null; } public SeeTag[] seeTags() { return new SeeTag[0]; } public void setRawCommentText(java.lang.String rawDocumentation) {} public Tag[] tags() { return new Tag[0]; } public Tag[] tags(java.lang.String tagname) { return new Tag[0]; } public String typeName() { return name; } public String qualifiedTypeName() { return qualifiedName; } public String dimension() { return dimension; } public ClassDoc asClassDoc() { return this; } public TypeVariable asTypeVariable() { return null; } public boolean isPrimitive() { return false; } public String toString() { return "ClassDocProxy{"+qualifiedName+", context="+classContext+"}"; } public void setDimension(String dimension) { this.dimension = dimension; } public Object clone() throws CloneNotSupportedException { return super.clone(); } // Compares this Object with the specified Object for order. public int compareTo(java.lang.Object o) { if (o instanceof Doc) { return Main.getInstance().getCollator().compare(name(), ((Doc)o).name()); } else { return 0; } } public TypeVariable[] typeParameters() { return new TypeVariable[0]; } }