langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/WriterFactoryImpl.java
changeset 40587 1c355ea550ed
parent 36526 3b41f1c69604
child 45417 f7479ee8de69
equal deleted inserted replaced
40519:e17429a7e843 40587:1c355ea550ed
    23  * questions.
    23  * questions.
    24  */
    24  */
    25 
    25 
    26 package jdk.javadoc.internal.doclets.formats.html;
    26 package jdk.javadoc.internal.doclets.formats.html;
    27 
    27 
    28 import java.io.IOException;
       
    29 
    28 
    30 import javax.lang.model.element.ModuleElement;
    29 import javax.lang.model.element.ModuleElement;
    31 import javax.lang.model.element.PackageElement;
    30 import javax.lang.model.element.PackageElement;
    32 import javax.lang.model.element.TypeElement;
    31 import javax.lang.model.element.TypeElement;
    33 import javax.lang.model.type.TypeMirror;
    32 import javax.lang.model.type.TypeMirror;
    67 
    66 
    68     /**
    67     /**
    69      * {@inheritDoc}
    68      * {@inheritDoc}
    70      */
    69      */
    71     @Override
    70     @Override
    72     public ConstantsSummaryWriter getConstantsSummaryWriter() throws Exception {
    71     public ConstantsSummaryWriter getConstantsSummaryWriter() {
    73         return new ConstantsSummaryWriterImpl(configuration);
    72         return new ConstantsSummaryWriterImpl(configuration);
    74     }
    73     }
    75 
    74 
    76     /**
    75     /**
    77      * {@inheritDoc}
    76      * {@inheritDoc}
    78      */
    77      */
    79     @Override
    78     @Override
    80     public PackageSummaryWriter getPackageSummaryWriter(PackageElement packageElement,
    79     public PackageSummaryWriter getPackageSummaryWriter(PackageElement packageElement,
    81             PackageElement prevPkg, PackageElement nextPkg) throws Exception {
    80             PackageElement prevPkg, PackageElement nextPkg) {
    82         return new PackageWriterImpl(configuration, packageElement, prevPkg, nextPkg);
    81         return new PackageWriterImpl(configuration, packageElement, prevPkg, nextPkg);
    83     }
    82     }
    84 
    83 
    85     /**
    84     /**
    86      * {@inheritDoc}
    85      * {@inheritDoc}
    87      */
    86      */
    88     public ModuleSummaryWriter getModuleSummaryWriter(ModuleElement mdle,
    87     public ModuleSummaryWriter getModuleSummaryWriter(ModuleElement mdle,
    89         ModuleElement prevModule, ModuleElement nextModule) throws Exception {
    88         ModuleElement prevModule, ModuleElement nextModule) {
    90         return new ModuleWriterImpl(configuration, mdle,
    89         return new ModuleWriterImpl(configuration, mdle,
    91             prevModule, nextModule);
    90             prevModule, nextModule);
    92     }
    91     }
    93 
    92 
    94     /**
    93     /**
    95      * {@inheritDoc}
    94      * {@inheritDoc}
    96      */
    95      */
    97     @Override
    96     @Override
    98     public ClassWriter getClassWriter(TypeElement typeElement, TypeElement prevClass,
    97     public ClassWriter getClassWriter(TypeElement typeElement, TypeElement prevClass,
    99             TypeElement nextClass, ClassTree classTree) throws IOException {
    98             TypeElement nextClass, ClassTree classTree) {
   100         return new ClassWriterImpl(configuration, typeElement, prevClass, nextClass, classTree);
    99         return new ClassWriterImpl(configuration, typeElement, prevClass, nextClass, classTree);
   101     }
   100     }
   102 
   101 
   103     /**
   102     /**
   104      * {@inheritDoc}
   103      * {@inheritDoc}
   105      */
   104      */
   106     @Override
   105     @Override
   107     public AnnotationTypeWriter getAnnotationTypeWriter(TypeElement annotationType,
   106     public AnnotationTypeWriter getAnnotationTypeWriter(TypeElement annotationType,
   108             TypeMirror prevType, TypeMirror nextType) throws Exception {
   107             TypeMirror prevType, TypeMirror nextType) {
   109         return new AnnotationTypeWriterImpl(configuration, annotationType, prevType, nextType);
   108         return new AnnotationTypeWriterImpl(configuration, annotationType, prevType, nextType);
   110     }
   109     }
   111 
   110 
   112     /**
   111     /**
   113      * {@inheritDoc}
   112      * {@inheritDoc}
   114      */
   113      */
   115     @Override
   114     @Override
   116     public AnnotationTypeFieldWriter
   115     public AnnotationTypeFieldWriter getAnnotationTypeFieldWriter(
   117             getAnnotationTypeFieldWriter(AnnotationTypeWriter annotationTypeWriter) throws Exception {
   116             AnnotationTypeWriter annotationTypeWriter) {
   118         TypeElement te = annotationTypeWriter.getAnnotationTypeElement();
   117         TypeElement te = annotationTypeWriter.getAnnotationTypeElement();
   119         return new AnnotationTypeFieldWriterImpl(
   118         return new AnnotationTypeFieldWriterImpl(
   120             (SubWriterHolderWriter) annotationTypeWriter, te);
   119             (SubWriterHolderWriter) annotationTypeWriter, te);
   121     }
   120     }
   122 
   121 
   123     /**
   122     /**
   124      * {@inheritDoc}
   123      * {@inheritDoc}
   125      */
   124      */
   126     @Override
   125     @Override
   127     public AnnotationTypeOptionalMemberWriter
   126     public AnnotationTypeOptionalMemberWriter getAnnotationTypeOptionalMemberWriter(
   128             getAnnotationTypeOptionalMemberWriter(
   127         AnnotationTypeWriter annotationTypeWriter) {
   129         AnnotationTypeWriter annotationTypeWriter) throws Exception {
       
   130         TypeElement te = annotationTypeWriter.getAnnotationTypeElement();
   128         TypeElement te = annotationTypeWriter.getAnnotationTypeElement();
   131         return new AnnotationTypeOptionalMemberWriterImpl(
   129         return new AnnotationTypeOptionalMemberWriterImpl(
   132             (SubWriterHolderWriter) annotationTypeWriter, te);
   130             (SubWriterHolderWriter) annotationTypeWriter, te);
   133     }
   131     }
   134 
   132 
   135     /**
   133     /**
   136      * {@inheritDoc}
   134      * {@inheritDoc}
   137      */
   135      */
   138     @Override
   136     @Override
   139     public AnnotationTypeRequiredMemberWriter
   137     public AnnotationTypeRequiredMemberWriter getAnnotationTypeRequiredMemberWriter(
   140             getAnnotationTypeRequiredMemberWriter(AnnotationTypeWriter annotationTypeWriter) throws Exception {
   138             AnnotationTypeWriter annotationTypeWriter) {
   141         TypeElement te = annotationTypeWriter.getAnnotationTypeElement();
   139         TypeElement te = annotationTypeWriter.getAnnotationTypeElement();
   142         return new AnnotationTypeRequiredMemberWriterImpl(
   140         return new AnnotationTypeRequiredMemberWriterImpl(
   143             (SubWriterHolderWriter) annotationTypeWriter, te);
   141             (SubWriterHolderWriter) annotationTypeWriter, te);
   144     }
   142     }
   145 
   143 
   146     /**
   144     /**
   147      * {@inheritDoc}
   145      * {@inheritDoc}
   148      */
   146      */
   149     @Override
   147     @Override
   150     public EnumConstantWriterImpl getEnumConstantWriter(ClassWriter classWriter)
   148     public EnumConstantWriterImpl getEnumConstantWriter(ClassWriter classWriter) {
   151             throws Exception {
       
   152         return new EnumConstantWriterImpl((SubWriterHolderWriter) classWriter,
   149         return new EnumConstantWriterImpl((SubWriterHolderWriter) classWriter,
   153                 classWriter.getTypeElement());
   150                 classWriter.getTypeElement());
   154     }
   151     }
   155 
   152 
   156     /**
   153     /**
   157      * {@inheritDoc}
   154      * {@inheritDoc}
   158      */
   155      */
   159     @Override
   156     @Override
   160     public FieldWriterImpl getFieldWriter(ClassWriter classWriter)
   157     public FieldWriterImpl getFieldWriter(ClassWriter classWriter) {
   161             throws Exception {
       
   162         return new FieldWriterImpl((SubWriterHolderWriter) classWriter, classWriter.getTypeElement());
   158         return new FieldWriterImpl((SubWriterHolderWriter) classWriter, classWriter.getTypeElement());
   163     }
   159     }
   164 
   160 
   165     /**
   161     /**
   166      * {@inheritDoc}
   162      * {@inheritDoc}
   167      */
   163      */
   168     @Override
   164     @Override
   169     public PropertyWriterImpl getPropertyWriter(ClassWriter classWriter)
   165     public PropertyWriterImpl getPropertyWriter(ClassWriter classWriter) {
   170             throws Exception {
       
   171         return new PropertyWriterImpl((SubWriterHolderWriter) classWriter,
   166         return new PropertyWriterImpl((SubWriterHolderWriter) classWriter,
   172                 classWriter.getTypeElement());
   167                 classWriter.getTypeElement());
   173     }
   168     }
   174 
   169 
   175     /**
   170     /**
   176      * {@inheritDoc}
   171      * {@inheritDoc}
   177      */
   172      */
   178     @Override
   173     @Override
   179     public MethodWriterImpl getMethodWriter(ClassWriter classWriter)
   174     public MethodWriterImpl getMethodWriter(ClassWriter classWriter) {
   180             throws Exception {
       
   181         return new MethodWriterImpl((SubWriterHolderWriter) classWriter, classWriter.getTypeElement());
   175         return new MethodWriterImpl((SubWriterHolderWriter) classWriter, classWriter.getTypeElement());
   182     }
   176     }
   183 
   177 
   184     /**
   178     /**
   185      * {@inheritDoc}
   179      * {@inheritDoc}
   186      */
   180      */
   187     @Override
   181     @Override
   188     public ConstructorWriterImpl getConstructorWriter(ClassWriter classWriter)
   182     public ConstructorWriterImpl getConstructorWriter(ClassWriter classWriter) {
   189             throws Exception {
       
   190         return new ConstructorWriterImpl((SubWriterHolderWriter) classWriter,
   183         return new ConstructorWriterImpl((SubWriterHolderWriter) classWriter,
   191                 classWriter.getTypeElement());
   184                 classWriter.getTypeElement());
   192     }
   185     }
   193 
   186 
   194     /**
   187     /**
   195      * {@inheritDoc}
   188      * {@inheritDoc}
   196      */
   189      */
   197     @Override
   190     @Override
   198     public MemberSummaryWriter getMemberSummaryWriter(
   191     public MemberSummaryWriter getMemberSummaryWriter(ClassWriter classWriter,
   199             ClassWriter classWriter, VisibleMemberMap.Kind memberType)
   192             VisibleMemberMap.Kind memberType) {
   200             throws Exception {
       
   201         switch (memberType) {
   193         switch (memberType) {
   202             case CONSTRUCTORS:
   194             case CONSTRUCTORS:
   203                 return getConstructorWriter(classWriter);
   195                 return getConstructorWriter(classWriter);
   204             case ENUM_CONSTANTS:
   196             case ENUM_CONSTANTS:
   205                 return getEnumConstantWriter(classWriter);
   197                 return getEnumConstantWriter(classWriter);
   219 
   211 
   220     /**
   212     /**
   221      * {@inheritDoc}
   213      * {@inheritDoc}
   222      */
   214      */
   223     @Override
   215     @Override
   224     public MemberSummaryWriter getMemberSummaryWriter(
   216     public MemberSummaryWriter getMemberSummaryWriter(AnnotationTypeWriter annotationTypeWriter,
   225         AnnotationTypeWriter annotationTypeWriter, VisibleMemberMap.Kind memberType)
   217             VisibleMemberMap.Kind memberType) {
   226     throws Exception {
       
   227         switch (memberType) {
   218         switch (memberType) {
   228             case ANNOTATION_TYPE_FIELDS:
   219             case ANNOTATION_TYPE_FIELDS:
   229                 return (AnnotationTypeFieldWriterImpl)
   220                 return (AnnotationTypeFieldWriterImpl)
   230                     getAnnotationTypeFieldWriter(annotationTypeWriter);
   221                     getAnnotationTypeFieldWriter(annotationTypeWriter);
   231             case ANNOTATION_TYPE_MEMBER_OPTIONAL:
   222             case ANNOTATION_TYPE_MEMBER_OPTIONAL:
   241 
   232 
   242     /**
   233     /**
   243      * {@inheritDoc}
   234      * {@inheritDoc}
   244      */
   235      */
   245     @Override
   236     @Override
   246     public SerializedFormWriter getSerializedFormWriter() throws Exception {
   237     public SerializedFormWriter getSerializedFormWriter() {
   247         return new SerializedFormWriterImpl(configuration);
   238         return new SerializedFormWriterImpl(configuration);
   248     }
   239     }
   249 }
   240 }