Moved renderer methods to RenderUtils

This commit is contained in:
Erik C. Thauvin 2023-03-16 01:14:58 -07:00
parent 54f40eb41e
commit b7c9695395
7 changed files with 178 additions and 175 deletions

View file

@ -34,49 +34,11 @@ import rife.template.ValueRenderer;
* @since 1.0
*/
public class Rot13 implements ValueRenderer {
/**
* Translates a String to/from ROT13.
*
* @param src the source String.
* @return the translated String.
*/
public static String rot13(String src) {
if (src == null || src.isEmpty()) {
return "";
} else {
var output = new StringBuilder(src.length());
for (var i = 0; i < src.length(); i++) {
var inChar = src.charAt(i);
if ((inChar >= 'A') && (inChar <= 'Z')) {
inChar += (char) 13;
if (inChar > 'Z') {
inChar -= (char) 26;
}
}
if ((inChar >= 'a') && (inChar <= 'z')) {
inChar += (char) 13;
if (inChar > 'z') {
inChar -= (char) 26;
}
}
output.append(inChar);
}
return output.toString();
}
}
/**
* {@inheritDoc}
*/
@Override
public String render(Template template, String valueId, String differentiator) {
return rot13(RenderUtils.fetchValue(template, differentiator));
return RenderUtils.rot13(RenderUtils.fetchValue(template, differentiator));
}
}