
net.winroad.wrdoclet.data.WRDoc Maven / Gradle / Ivy
The newest version!
package net.winroad.wrdoclet.data;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.winroad.wrdoclet.ConfigurationImpl;
import net.winroad.wrdoclet.builder.AbstractDocBuilder;
import net.winroad.wrdoclet.builder.DubboDocBuilder;
import net.winroad.wrdoclet.builder.RESTDocBuilder;
import net.winroad.wrdoclet.builder.SOAPDocBuilder;
import net.winroad.wrdoclet.utils.Logger;
import net.winroad.wrdoclet.utils.LoggerFactory;
import com.sun.tools.doclets.internal.toolkit.Configuration;
public class WRDoc {
private Map> taggedOpenAPIs = new HashMap>();
private List builders = new LinkedList();
// The collection of tag name in this Doc.
private Set wrTags = new HashSet();
private Configuration configuration;
private String docGeneratedDate;
private Logger logger = LoggerFactory.getLogger(this.getClass());
public Configuration getConfiguration() {
return configuration;
}
public Set getWRTags() {
return this.wrTags;
}
public Map> getTaggedOpenAPIs() {
return taggedOpenAPIs;
}
public String getDocGeneratedTime() {
return this.docGeneratedDate;
}
public WRDoc(Configuration configuration) {
this.configuration = configuration;
Calendar c = Calendar.getInstance();
DateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
this.docGeneratedDate = df.format(c.getTime());
this.builders.add(new RESTDocBuilder(this));
this.logger.debug("RESTDocBuilder loaded.");
this.builders.add(new SOAPDocBuilder(this));
this.logger.debug("SOAPDocBuilder loaded.");
String dubboConfigPath = ((ConfigurationImpl) this.configuration).dubboconfigpath;
if (dubboConfigPath != null && !dubboConfigPath.isEmpty()) {
this.builders.add(new DubboDocBuilder(this));
this.logger.debug("DubboDocBuilder loaded with config path:" + dubboConfigPath);
}
this.build();
}
private void build() {
for (AbstractDocBuilder builder : this.builders) {
builder.buildWRDoc();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy