langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WriterFactory.java
changeset 40587 1c355ea550ed
parent 36526 3b41f1c69604
equal deleted inserted replaced
40519:e17429a7e843 40587:1c355ea550ed
    50      * Return the writer for the constant summary.
    50      * Return the writer for the constant summary.
    51      *
    51      *
    52      * @return the writer for the constant summary.  Return null if this
    52      * @return the writer for the constant summary.  Return null if this
    53      * writer is not supported by the doclet.
    53      * writer is not supported by the doclet.
    54      */
    54      */
    55     public abstract ConstantsSummaryWriter getConstantsSummaryWriter()
    55     public abstract ConstantsSummaryWriter getConstantsSummaryWriter();
    56         throws Exception;
       
    57 
    56 
    58     /**
    57     /**
    59      * Return the writer for the package summary.
    58      * Return the writer for the package summary.
    60      *
    59      *
    61      * @param packageElement the package being documented.
    60      * @param packageElement the package being documented.
    63      * @param nextPkg the next package being documented.
    62      * @param nextPkg the next package being documented.
    64      * @return the writer for the package summary.  Return null if this
    63      * @return the writer for the package summary.  Return null if this
    65      * writer is not supported by the doclet.
    64      * writer is not supported by the doclet.
    66      */
    65      */
    67     public abstract PackageSummaryWriter getPackageSummaryWriter(PackageElement
    66     public abstract PackageSummaryWriter getPackageSummaryWriter(PackageElement
    68         packageElement, PackageElement prevPkg, PackageElement nextPkg)
    67         packageElement, PackageElement prevPkg, PackageElement nextPkg);
    69     throws Exception;
       
    70 
    68 
    71     /**
    69     /**
    72      * Return the writer for the module summary.
    70      * Return the writer for the module summary.
    73      *
    71      *
    74      * @param mdle the module being documented.
    72      * @param mdle the module being documented.
    76      * @param nextModule the next module being documented.
    74      * @param nextModule the next module being documented.
    77      * @return the writer for the module summary.  Return null if this
    75      * @return the writer for the module summary.  Return null if this
    78      * writer is not supported by the doclet.
    76      * writer is not supported by the doclet.
    79      */
    77      */
    80     public abstract ModuleSummaryWriter getModuleSummaryWriter(
    78     public abstract ModuleSummaryWriter getModuleSummaryWriter(
    81         ModuleElement mdle, ModuleElement prevModule, ModuleElement nextModule)
    79         ModuleElement mdle, ModuleElement prevModule, ModuleElement nextModule);
    82     throws Exception;
       
    83 
    80 
    84     /**
    81     /**
    85      * Return the writer for a class.
    82      * Return the writer for a class.
    86      *
    83      *
    87      * @param typeElement the class being documented.
    84      * @param typeElement the class being documented.
    90      * @param classTree the class tree.
    87      * @param classTree the class tree.
    91      * @return the writer for the class.  Return null if this
    88      * @return the writer for the class.  Return null if this
    92      * writer is not supported by the doclet.
    89      * writer is not supported by the doclet.
    93      */
    90      */
    94     public abstract ClassWriter getClassWriter(TypeElement typeElement,
    91     public abstract ClassWriter getClassWriter(TypeElement typeElement,
    95         TypeElement prevClass, TypeElement nextClass, ClassTree classTree)
    92         TypeElement prevClass, TypeElement nextClass, ClassTree classTree);
    96             throws Exception;
       
    97 
    93 
    98     /**
    94     /**
    99      * Return the writer for an annotation type.
    95      * Return the writer for an annotation type.
   100      *
    96      *
   101      * @param annotationType the type being documented.
    97      * @param annotationType the type being documented.
   103      * @param nextType the next type being documented.
    99      * @param nextType the next type being documented.
   104      * @return the writer for the annotation type.  Return null if this
   100      * @return the writer for the annotation type.  Return null if this
   105      * writer is not supported by the doclet.
   101      * writer is not supported by the doclet.
   106      */
   102      */
   107     public abstract AnnotationTypeWriter getAnnotationTypeWriter(
   103     public abstract AnnotationTypeWriter getAnnotationTypeWriter(
   108         TypeElement annotationType, TypeMirror prevType, TypeMirror nextType)
   104         TypeElement annotationType, TypeMirror prevType, TypeMirror nextType);
   109             throws Exception;
       
   110 
   105 
   111     /**
   106     /**
   112      * Return the method writer for a given class.
   107      * Return the method writer for a given class.
   113      *
   108      *
   114      * @param classWriter the writer for the class being documented.
   109      * @param classWriter the writer for the class being documented.
   115      * @return the method writer for the give class.  Return null if this
   110      * @return the method writer for the give class.  Return null if this
   116      * writer is not supported by the doclet.
   111      * writer is not supported by the doclet.
   117      */
   112      */
   118     public abstract MethodWriter getMethodWriter(ClassWriter classWriter)
   113     public abstract MethodWriter getMethodWriter(ClassWriter classWriter);
   119             throws Exception;
       
   120 
   114 
   121     /**
   115     /**
   122      * Return the annotation type field writer for a given annotation type.
   116      * Return the annotation type field writer for a given annotation type.
   123      *
   117      *
   124      * @param annotationTypeWriter the writer for the annotation type
   118      * @param annotationTypeWriter the writer for the annotation type
   126      * @return the member writer for the given annotation type.  Return null if
   120      * @return the member writer for the given annotation type.  Return null if
   127      *         this writer is not supported by the doclet.
   121      *         this writer is not supported by the doclet.
   128      */
   122      */
   129     public abstract AnnotationTypeFieldWriter
   123     public abstract AnnotationTypeFieldWriter
   130             getAnnotationTypeFieldWriter(
   124             getAnnotationTypeFieldWriter(
   131         AnnotationTypeWriter annotationTypeWriter) throws Exception;
   125         AnnotationTypeWriter annotationTypeWriter);
   132 
   126 
   133     /**
   127     /**
   134      * Return the annotation type optional member writer for a given annotation
   128      * Return the annotation type optional member writer for a given annotation
   135      * type.
   129      * type.
   136      *
   130      *
   139      * @return the member writer for the given annotation type.  Return null if
   133      * @return the member writer for the given annotation type.  Return null if
   140      *         this writer is not supported by the doclet.
   134      *         this writer is not supported by the doclet.
   141      */
   135      */
   142     public abstract AnnotationTypeOptionalMemberWriter
   136     public abstract AnnotationTypeOptionalMemberWriter
   143             getAnnotationTypeOptionalMemberWriter(
   137             getAnnotationTypeOptionalMemberWriter(
   144         AnnotationTypeWriter annotationTypeWriter) throws Exception;
   138         AnnotationTypeWriter annotationTypeWriter);
   145 
   139 
   146     /**
   140     /**
   147      * Return the annotation type required member writer for a given annotation type.
   141      * Return the annotation type required member writer for a given annotation type.
   148      *
   142      *
   149      * @param annotationTypeWriter the writer for the annotation type
   143      * @param annotationTypeWriter the writer for the annotation type
   151      * @return the member writer for the given annotation type.  Return null if
   145      * @return the member writer for the given annotation type.  Return null if
   152      *         this writer is not supported by the doclet.
   146      *         this writer is not supported by the doclet.
   153      */
   147      */
   154     public abstract AnnotationTypeRequiredMemberWriter
   148     public abstract AnnotationTypeRequiredMemberWriter
   155             getAnnotationTypeRequiredMemberWriter(
   149             getAnnotationTypeRequiredMemberWriter(
   156         AnnotationTypeWriter annotationTypeWriter) throws Exception;
   150         AnnotationTypeWriter annotationTypeWriter);
   157 
   151 
   158     /**
   152     /**
   159      * Return the enum constant writer for a given class.
   153      * Return the enum constant writer for a given class.
   160      *
   154      *
   161      * @param classWriter the writer for the class being documented.
   155      * @param classWriter the writer for the class being documented.
   162      * @return the enum constant writer for the give class.  Return null if this
   156      * @return the enum constant writer for the give class.  Return null if this
   163      * writer is not supported by the doclet.
   157      * writer is not supported by the doclet.
   164      */
   158      */
   165     public abstract EnumConstantWriter getEnumConstantWriter(
   159     public abstract EnumConstantWriter getEnumConstantWriter(
   166         ClassWriter classWriter) throws Exception;
   160         ClassWriter classWriter);
   167 
   161 
   168     /**
   162     /**
   169      * Return the field writer for a given class.
   163      * Return the field writer for a given class.
   170      *
   164      *
   171      * @param classWriter the writer for the class being documented.
   165      * @param classWriter the writer for the class being documented.
   172      * @return the field writer for the give class.  Return null if this
   166      * @return the field writer for the give class.  Return null if this
   173      * writer is not supported by the doclet.
   167      * writer is not supported by the doclet.
   174      */
   168      */
   175     public abstract FieldWriter getFieldWriter(ClassWriter classWriter)
   169     public abstract FieldWriter getFieldWriter(ClassWriter classWriter);
   176             throws Exception;
       
   177 
   170 
   178     /**
   171     /**
   179      * Return the property writer for a given class.
   172      * Return the property writer for a given class.
   180      *
   173      *
   181      * @param classWriter the writer for the class being documented.
   174      * @param classWriter the writer for the class being documented.
   182      * @return the property writer for the give class.  Return null if this
   175      * @return the property writer for the give class.  Return null if this
   183      * writer is not supported by the doclet.
   176      * writer is not supported by the doclet.
   184      */
   177      */
   185     public abstract PropertyWriter getPropertyWriter(ClassWriter classWriter)
   178     public abstract PropertyWriter getPropertyWriter(ClassWriter classWriter);
   186             throws Exception;
       
   187 
   179 
   188     /**
   180     /**
   189      * Return the constructor writer for a given class.
   181      * Return the constructor writer for a given class.
   190      *
   182      *
   191      * @param classWriter the writer for the class being documented.
   183      * @param classWriter the writer for the class being documented.
   192      * @return the method writer for the give class.  Return null if this
   184      * @return the method writer for the give class.  Return null if this
   193      * writer is not supported by the doclet.
   185      * writer is not supported by the doclet.
   194      */
   186      */
   195     public abstract ConstructorWriter getConstructorWriter(
   187     public abstract ConstructorWriter getConstructorWriter(
   196         ClassWriter classWriter)
   188         ClassWriter classWriter);
   197     throws Exception;
       
   198 
   189 
   199     /**
   190     /**
   200      * Return the specified member summary writer for a given class.
   191      * Return the specified member summary writer for a given class.
   201      *
   192      *
   202      * @param classWriter the writer for the class being documented.
   193      * @param classWriter the writer for the class being documented.
   204      *                    the type of member summary that should be returned.
   195      *                    the type of member summary that should be returned.
   205      * @return the summary writer for the give class.  Return null if this
   196      * @return the summary writer for the give class.  Return null if this
   206      * writer is not supported by the doclet.
   197      * writer is not supported by the doclet.
   207      *
   198      *
   208      * @see VisibleMemberMap
   199      * @see VisibleMemberMap
   209      * @throws IllegalArgumentException if memberType is unknown.
       
   210      */
   200      */
   211     public abstract MemberSummaryWriter getMemberSummaryWriter(
   201     public abstract MemberSummaryWriter getMemberSummaryWriter(
   212         ClassWriter classWriter, VisibleMemberMap.Kind memberType)
   202         ClassWriter classWriter, VisibleMemberMap.Kind memberType);
   213     throws Exception;
       
   214 
   203 
   215     /**
   204     /**
   216      * Return the specified member summary writer for a given annotation type.
   205      * Return the specified member summary writer for a given annotation type.
   217      *
   206      *
   218      * @param annotationTypeWriter the writer for the annotation type being
   207      * @param annotationTypeWriter the writer for the annotation type being
   221      *                    the type of member summary that should be returned.
   210      *                    the type of member summary that should be returned.
   222      * @return the summary writer for the give class.  Return null if this
   211      * @return the summary writer for the give class.  Return null if this
   223      * writer is not supported by the doclet.
   212      * writer is not supported by the doclet.
   224      *
   213      *
   225      * @see VisibleMemberMap
   214      * @see VisibleMemberMap
   226      * @throws IllegalArgumentException if memberType is unknown.
       
   227      */
   215      */
   228     public abstract MemberSummaryWriter getMemberSummaryWriter(
   216     public abstract MemberSummaryWriter getMemberSummaryWriter(
   229         AnnotationTypeWriter annotationTypeWriter, VisibleMemberMap.Kind memberType)
   217         AnnotationTypeWriter annotationTypeWriter, VisibleMemberMap.Kind memberType);
   230     throws Exception;
       
   231 
   218 
   232     /**
   219     /**
   233      * Return the writer for the serialized form.
   220      * Return the writer for the serialized form.
   234      *
   221      *
   235      * @return the writer for the serialized form.
   222      * @return the writer for the serialized form.
   236      */
   223      */
   237     public SerializedFormWriter getSerializedFormWriter() throws Exception;
   224     public SerializedFormWriter getSerializedFormWriter();
   238 }
   225 }