Are encoders only ever called from a single thread? I have a stateful utility class that I use to encode my objects. Is it safe to only create a single instance? Something like this:
MyObjectEncoder public class MyObjectEncoder implements Encoder<MyObject> { private final MyObjectEncoderHelper helper = new MyObjectEncoderHelper(); public MyObjectEncoder(VerifiableProperties props) {} @Override public byte[] toBytes(MyObject myObject) { // Stateful. So can't be called concurrently. helper.encode(myObject); return helper.bytes(); } } I am wondering if this is legal or if I have to create a new helper object every time toBytes is called. Thanks!