
com.github.rschmitt.dynamicobject.EdnTranslatorAdapter Maven / Gradle / Ivy
package com.github.rschmitt.dynamicobject;
import clojure.lang.AFn;
import java.io.IOException;
import java.io.Writer;
final class EdnTranslatorAdapter extends AFn {
private final EdnTranslator ednTranslator;
EdnTranslatorAdapter(EdnTranslator ednTranslator) {
this.ednTranslator = ednTranslator;
}
@Override
public Object invoke(Object arg) {
return ednTranslator.read(arg);
}
@Override
@SuppressWarnings("unchecked")
public Object invoke(Object arg1, Object arg2) {
Writer writer = (Writer) arg2;
try {
String output = String.format("#%s%s", ednTranslator.getTag(), ednTranslator.write((T) arg1));
writer.write(output);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
return null;
}
public final String getTag() {
return ednTranslator.getTag();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy