Utf8StringEncoderPool.java
package com.amazon.ion.impl.bin.utf8;
/**
* A thread-safe shared pool of {@link Utf8StringEncoder}s that can be used for UTF8 encoding.
*/
public class Utf8StringEncoderPool extends Pool<Utf8StringEncoder> {
private static final Utf8StringEncoderPool INSTANCE = new Utf8StringEncoderPool();
// Do not allow instantiation; all classes should share the singleton instance.
private Utf8StringEncoderPool() {
super(new Allocator<Utf8StringEncoder>() {
@Override
public Utf8StringEncoder newInstance(Pool<Utf8StringEncoder> pool) {
return new Utf8StringEncoder(pool);
}
});
}
/**
* @return a threadsafe shared instance of {@link Utf8StringEncoderPool}.
*/
public static Utf8StringEncoderPool getInstance() {
return INSTANCE;
}
}