All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.hts.springwebdoclet.processors.impl.ControllerProcessorImpl Maven / Gradle / Ivy

package ru.hts.springwebdoclet.processors.impl;

import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.MethodDoc;
import ru.hts.springwebdoclet.MethodContextComparator;
import ru.hts.springwebdoclet.processors.ControllerProcessor;
import ru.hts.springwebdoclet.processors.MethodProcessor;
import ru.hts.springwebdoclet.render.RenderContext;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Processes controller class
 * @author Ivan Sungurov
 */
public class ControllerProcessorImpl implements ControllerProcessor {
    private MethodProcessor methodProcessor;

    @Override
    public RenderContext process(ClassDoc classDoc) {
        RenderContext result = new RenderContext();

        result.put("package", classDoc.containingPackage().name());
        result.put("name", classDoc.typeName());
        result.put("title", classDoc.commentText());

        List methods = new ArrayList();
        for (MethodDoc methodDoc : classDoc.methods()) {
            RenderContext context = methodProcessor.process(classDoc, methodDoc);
            if (context != null) {
                methods.add(context);
            }
        }

        Collections.sort(methods, new MethodContextComparator());

        result.put("methods", methods);

        return result;
    }

    public void setMethodProcessor(MethodProcessor methodProcessor) {
        this.methodProcessor = methodProcessor;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy