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