YAMLAnchorReplayingFactory.java
package tools.jackson.dataformat.yaml;
import java.io.*;
import tools.jackson.core.ObjectReadContext;
import tools.jackson.core.io.IOContext;
/**
* A subclass of YAMLFactory with the only purpose to replace the YAMLParser by
* the YAMLAnchorReplayingParser subclass.
*
* @since 2.19
*/
public class YAMLAnchorReplayingFactory extends YAMLFactory {
private static final long serialVersionUID = 1L;
public YAMLAnchorReplayingFactory() {
super();
}
public YAMLAnchorReplayingFactory(YAMLFactory src) {
super(src);
}
protected YAMLAnchorReplayingFactory(YAMLAnchorReplayingFactoryBuilder b) {
super(b);
}
@Override
public YAMLAnchorReplayingFactoryBuilder rebuild() {
return new YAMLAnchorReplayingFactoryBuilder(this);
}
/**
* Main factory method to use for constructing {@link YAMLAnchorReplayingFactory} instances with
* different configuration.
*/
public static YAMLAnchorReplayingFactoryBuilder builder() {
return new YAMLAnchorReplayingFactoryBuilder();
}
@Override
public YAMLAnchorReplayingFactory copy() {
return new YAMLAnchorReplayingFactory(this);
}
@Override
protected Object readResolve() {
return new YAMLAnchorReplayingFactory(this);
}
@Override
protected YAMLAnchorReplayingParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, InputStream in) {
return new YAMLAnchorReplayingParser(readCtxt, ioCtxt,
_getBufferRecycler(),
readCtxt.getStreamReadFeatures(_streamReadFeatures),
readCtxt.getFormatReadFeatures(_formatReadFeatures),
_loadSettings,
_createReader(in, null, ioCtxt));
}
@Override
protected YAMLAnchorReplayingParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt, Reader r) {
return new YAMLAnchorReplayingParser(readCtxt, ioCtxt,
_getBufferRecycler(),
readCtxt.getStreamReadFeatures(_streamReadFeatures),
readCtxt.getFormatReadFeatures(_formatReadFeatures),
_loadSettings,
r);
}
@Override
protected YAMLAnchorReplayingParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt,
char[] data, int offset, int len,
boolean recyclable) {
return new YAMLAnchorReplayingParser(readCtxt, ioCtxt, _getBufferRecycler(),
readCtxt.getStreamReadFeatures(_streamReadFeatures),
readCtxt.getFormatReadFeatures(_formatReadFeatures),
_loadSettings,
new CharArrayReader(data, offset, len));
}
@Override
protected YAMLAnchorReplayingParser _createParser(ObjectReadContext readCtxt, IOContext ioCtxt,
byte[] data, int offset, int len) {
return new YAMLAnchorReplayingParser(readCtxt, ioCtxt, _getBufferRecycler(),
readCtxt.getStreamReadFeatures(_streamReadFeatures),
readCtxt.getFormatReadFeatures(_formatReadFeatures),
_loadSettings,
_createReader(data, offset, len, null, ioCtxt));
}
}