/**
* This file is part of git-as-svn. It is subject to the license terms
* in the LICENSE file found in the top-level directory of this distribution
* and at http://www.gnu.org/licenses/gpl-2.0.html. No part of git-as-svn,
* including this file, may be copied, modified, propagated, or distributed
* except according to the terms contained in the LICENSE file.
*/
package svnserver;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* Helper for create documentation links.
*
* @author a.navrotskiy
*/
public enum ReferenceLink {
Properties("ch_props.html");
public final static class Lang {
@NotNull
private final String name;
@NotNull
private final String description;
public Lang(@NotNull String name, @NotNull String description) {
this.name = name;
this.description = description;
}
@NotNull
public String getName() {
return name;
}
@NotNull
public String getItemPrefix() {
return description;
}
@Override
public String toString() {
return name;
}
}
@NotNull
private final static List<Lang> s_languages = Arrays.asList(
new Lang("en_US", "On English"),
new Lang("ru_RU", "По-русски")
);
/**
* Get available documentation locales.
*
* @return Available documentation locales.
*/
@NotNull
public static List<Lang> getLanguages() {
return s_languages;
}
ReferenceLink(@NotNull String docbookPage) {
this.docbookPage = docbookPage;
}
@NotNull
public static final String BASE_URL = "https://bozaro.github.io/git-as-svn/html/";
@NotNull
private final String docbookPage;
@NotNull
public final String getLink(@NotNull Lang lang) {
return BASE_URL + lang.getName() + "/" + docbookPage;
}
@NotNull
public final String getLinks() {
StringBuilder sb = new StringBuilder();
for (Lang lang : getLanguages()) {
sb.append(" * ")
.append(lang.getItemPrefix())
.append(": ")
.append(getLink(lang))
.append("\n");
}
return sb.toString();
}
}