package net.techreadiness.ui.text;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.ResourceBundle;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.TextProvider;
import com.opensymphony.xwork2.util.ValueStack;
/**
* Abstract class to make implementing a TextProvider a little more sane
*/
public abstract class SimpleTextProvider implements TextProvider {
@Override
public abstract boolean hasKey(String key);
@Override
public abstract ResourceBundle getTexts(String bundleName);
@Override
public abstract ResourceBundle getTexts();
@Override
public abstract String getText(String key, String defaultValue, List<?> args, ValueStack stack);
@Override
public String getText(String key) {
return getText(key, key, Collections.emptyList());
}
@Override
public String getText(String key, String defaultValue) {
return getText(key, defaultValue, Collections.emptyList());
}
@Override
public String getText(String key, String defaultValue, String obj) {
return getText(key, defaultValue, Arrays.asList(obj));
}
@Override
public String getText(String key, List<?> args) {
return getText(key, key, args);
}
@Override
public String getText(String key, String[] args) {
return getText(key, key, args);
}
@Override
public String getText(String key, String defaultValue, String[] args) {
return getText(key, defaultValue, Arrays.asList(args));
}
@Override
public String getText(String key, String defaultValue, List<?> args) {
return getText(key, defaultValue, args, ActionContext.getContext().getValueStack());
}
@Override
public String getText(String key, String defaultValue, String[] args, ValueStack stack) {
return getText(key, defaultValue, Arrays.asList(args), stack);
}
}