Files
ProcessControl/SIN.04028-From-Calling-to-Eventing/supplemental-java/03-static-filesystem/ProcessorService.java
T

31 lines
857 B
Java

String rot13(String text) {
var result = new StringBuilder();
for (var character : text.toCharArray()) {
if (character >= 'a' && character <= 'z')
character = (char) ('a' + (character - 'a' + 13) % 26);
else if (character >= 'A' && character <= 'Z')
character = (char) ('A' + (character - 'A' + 13) % 26);
result.append(character);
}
return result.toString();
}
void main() throws Exception {
FileMessageBoard.watch("rot13/inbox", message -> {
if (!message.type().equals("TEXT"))
return;
try {
FileMessageBoard.publish(
"rot13/outbox",
new Message("TEXT", rot13(message.value()))
);
} catch (IOException exception) {
throw new UncheckedIOException(exception);
}
});
}