PackageDoc.java revision 2571:10fc81ac75b4
1/* 2 * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package com.sun.javadoc; 27 28/** 29 * Represents a java package. Provides access to information 30 * about the package, the package's comment and tags, and the 31 * classes in the package. 32 * <p> 33 * Each method whose return type is an array will return an empty 34 * array (never null) when there are no objects in the result. 35 * 36 * @since 1.2 37 * @author Kaiyang Liu (original) 38 * @author Robert Field (rewrite) 39 */ 40public interface PackageDoc extends Doc { 41 42 /** 43 * Get all classes and interfaces in the package, filtered to the specified 44 * <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">access 45 * modifier option</a>. 46 * 47 * @return filtered classes and interfaces in this package 48 * @param filter Specifying true filters according to the specified access 49 * modifier option. 50 * Specifying false includes all classes and interfaces 51 * regardless of access modifier option. 52 * @since 1.4 53 */ 54 ClassDoc[] allClasses(boolean filter); 55 56 /** 57 * Get all 58 * <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">included</a> 59 * classes and interfaces in the package. Same as allClasses(true). 60 * 61 * @return all included classes and interfaces in this package. 62 */ 63 ClassDoc[] allClasses(); 64 65 /** 66 * Get included 67 * <a href="{@docRoot}/com/sun/javadoc/package-summary.html#class">ordinary</a> 68 * classes (that is, exclude exceptions, errors, enums, interfaces, and 69 * annotation types) 70 * in this package. 71 * 72 * @return included ordinary classes in this package. 73 */ 74 ClassDoc[] ordinaryClasses(); 75 76 /** 77 * Get included Exception classes in this package. 78 * 79 * @return included Exceptions in this package. 80 */ 81 ClassDoc[] exceptions(); 82 83 /** 84 * Get included Error classes in this package. 85 * 86 * @return included Errors in this package. 87 */ 88 ClassDoc[] errors(); 89 90 /** 91 * Get included enum types in this package. 92 * 93 * @return included enum types in this package. 94 * @since 1.5 95 */ 96 ClassDoc[] enums(); 97 98 /** 99 * Get included interfaces in this package, omitting annotation types. 100 * 101 * @return included interfaces in this package. 102 */ 103 ClassDoc[] interfaces(); 104 105 /** 106 * Get included annotation types in this package. 107 * 108 * @return included annotation types in this package. 109 * @since 1.5 110 */ 111 AnnotationTypeDoc[] annotationTypes(); 112 113 /** 114 * Get the annotations of this package. 115 * Return an empty array if there are none. 116 * 117 * @return the annotations of this package. 118 * @since 1.5 119 */ 120 AnnotationDesc[] annotations(); 121 122 /** 123 * Lookup a class or interface within this package. 124 * 125 * @param className A String containing the name of the class to look up. 126 * @return ClassDoc of found class or interface, 127 * or null if not found. 128 */ 129 ClassDoc findClass(String className); 130} 131