/* * Copyright 2008 CoreMedia AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS * IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package net.jangaroo.joodoc; import com.sun.javadoc.*; import net.jangaroo.jooc.PackageDeclaration; import java.util.List; import java.util.ArrayList; /** * Created by IntelliJ IDEA. * User: htewis * Date: 20.07.2004 * Time: 09:15:06 * To change this template use File | Settings | File Templates. */ public class PackageDocImpl extends DocImpl implements PackageDoc{ public PackageDocImpl(PackageDeclaration declaration) { super (declaration); } public ClassDoc[] allClasses() { String qualifiedPackageName = name(); ClassDoc[] allClasses = DocMap.getClasses(); List/*ClassDoc*/ myClasses = new ArrayList(allClasses.length); //System.out.println("Searching for classes in package "+qualifiedPackageName+"..."); for (int i = 0; i < allClasses.length; i++) { ClassDoc classDoc = allClasses[i]; if (qualifiedPackageName.equals(classDoc.containingPackage().name())) { myClasses.add(classDoc); } } //System.out.println("Found "+myClasses.size()+" classes in package "+qualifiedPackageName); ClassDoc[] classes = (ClassDoc[])myClasses.toArray(new ClassDoc[myClasses.size()]); return classes; } public ClassDoc[] errors() { return new ClassDoc[0]; } public ClassDoc[] exceptions() { return new ClassDoc[0]; } public ClassDoc[] interfaces() { return new ClassDoc[0]; } public ClassDoc[] ordinaryClasses() { return allClasses(); } public ClassDoc[] allClasses(boolean b) { return allClasses(); } public ClassDoc findClass(String s) { ClassDoc[] classes = allClasses(); for (int i = 0; i < classes.length; i++) { ClassDocImpl classDoc = (ClassDocImpl) classes[i]; if (classDoc.name().equals(s)) return classDoc; } return null; } public String commentText() { return "package comment"; } public String getRawCommentText() { return "package comment2"; } public String name() { String[] qualifiedName = ((PackageDeclaration)declaration).getQualifiedName(); return Util.getQualifiedName(qualifiedName); } public void setRawCommentText(String s) { } public boolean equals(Object model) { if (this == model) return true; if (!(model instanceof PackageDocImpl)) return false; final PackageDocImpl packageDoc = (PackageDocImpl)model; if (!name().equals(packageDoc.name())) return false; return true; } public int hashCode() { return name().hashCode(); } public ClassDoc[] enums() { return new ClassDoc[0]; //To change body of implemented methods use File | Settings | File Templates. } public AnnotationTypeDoc[] annotationTypes() { return new AnnotationTypeDoc[0]; //To change body of implemented methods use File | Settings | File Templates. } public AnnotationDesc[] annotations() { return new AnnotationDesc[0]; //To change body of implemented methods use File | Settings | File Templates. } }