protected void configure()

in src/main/java/com/googlesource/gerrit/plugins/xdocs/Module.java [49:91]


  protected void configure() {
    install(new XDocLoader.Module());
    factory(XDocProjectConfig.Factory.class);

    DynamicMap.mapOf(binder(), Formatter.class);
    bind(Formatter.class)
        .annotatedWith(Exports.named(AsciidoctorFormatter.NAME))
        .to(AsciidoctorFormatter.class);
    bind(Formatter.class).annotatedWith(Exports.named(DocxFormatter.NAME)).to(DocxFormatter.class);
    bind(Formatter.class)
        .annotatedWith(Exports.named(MarkdownFormatter.NAME))
        .to(MarkdownFormatter.class);
    bind(Formatter.class)
        .annotatedWith(Exports.named(ImageFormatter.NAME))
        .to(ImageFormatter.class);
    bind(Formatter.class)
        .annotatedWith(Exports.named(PlainTextFormatter.NAME))
        .to(PlainTextFormatter.class);
    bind(Formatter.class).annotatedWith(Exports.named(ZipFormatter.NAME)).to(ZipFormatter.class);

    DynamicSet.bind(binder(), ProjectWebLink.class).to(XDocWebLink.class);
    DynamicSet.bind(binder(), BranchWebLink.class).to(XDocWebLink.class);
    DynamicSet.bind(binder(), FileWebLink.class).to(XDocWebLink.class);
    DynamicSet.bind(binder(), DiffWebLink.class).to(SideBySideDiffPreviewWebLink.class);
    DynamicSet.bind(binder(), DiffWebLink.class).to(UnifiedDiffPreviewWebLink.class);

    DynamicSet.bind(binder(), TopMenu.class)
        .toInstance(
            new TopMenu() {
              @Override
              public List<MenuEntry> getEntries() {
                StringBuilder url = new StringBuilder();
                url.append("/plugins/");
                url.append(pluginName);
                url.append(XDocServlet.PATH_PREFIX);
                url.append("${projectName}");
                return Lists.newArrayList(
                    new MenuEntry(
                        GerritTopMenu.PROJECTS,
                        Lists.newArrayList(new MenuItem("Readme", url.toString()))));
              }
            });
  }