package com.github.pfichtner.jrunalyser.ui.base.i18n;
import org.jdesktop.application.ResourceMap;
import com.dteoh.treasuremap.ResourceMaps;
public class I18N {
public static class Builder {
private ResourceMaps resourceMaps;
public Builder(Class<?> clazz) {
this.resourceMaps = new ResourceMaps(clazz);
}
public Builder withParent(I18N parent) {
this.resourceMaps.withParent(parent.resourceMap);
return this;
}
public I18N build() {
return new I18N(this.resourceMaps.build());
}
}
private final ResourceMap resourceMap;
private I18N(ResourceMap resourceMap) {
this.resourceMap = resourceMap;
}
public String getText(String key, Object... args) {
return this.resourceMap.getString(key, args);
}
public String getText(Enum<?> enumType, Object type) {
return getText(enumType.getDeclaringClass().getName() + '.'
+ enumType.name() + '$' + type);
}
public static Builder builder(Class<?> clazz) {
return new Builder(clazz);
}
}