/** * Alternative constructor that may be used to feed partially initialized content. * * @param outputBuffer * Buffer to use for output before flushing to the underlying stream * @param offset * Offset pointing past already buffered content; that is, number * of bytes of valid content to output, within buffer. */ public CBORGenerator(IOContext ctxt, int stdFeatures, int formatFeatures, ObjectCodec codec, OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable) { super(stdFeatures, codec); _formatFeatures = formatFeatures; _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); _ioContext = ctxt; _out = out; _bufferRecyclable = bufferRecyclable; _outputTail = offset; _outputBuffer = outputBuffer; _outputEnd = _outputBuffer.length; _charBuffer = ctxt.allocConcatBuffer(); _charBufferLength = _charBuffer.length; // let's just sanity check to prevent nasty odd errors if (_outputEnd < MIN_BUFFER_LENGTH) { throw new IllegalStateException("Internal encoding buffer length (" + _outputEnd + ") too short, must be at least " + MIN_BUFFER_LENGTH); } }
/** * Alternative constructor that may be used to feed partially initialized content. * * @param outputBuffer Buffer to use for output before flushing to the underlying stream * @param offset Offset pointing past already buffered content; that is, number of bytes of valid content * to output, within buffer. */ public CBORGenerator(IOContext ctxt, int stdFeatures, int formatFeatures, ObjectCodec codec, OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable) { super(stdFeatures, codec); _formatFeatures = formatFeatures; _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); _ioContext = ctxt; _out = out; _bufferRecyclable = bufferRecyclable; _outputTail = offset; _outputBuffer = outputBuffer; _outputEnd = _outputBuffer.length; _charBuffer = ctxt.allocConcatBuffer(); _charBufferLength = _charBuffer.length; // let's just sanity check to prevent nasty odd errors if (_outputEnd < MIN_BUFFER_LENGTH) { throw new IllegalStateException("Internal encoding buffer length ("+_outputEnd +") too short, must be at least "+MIN_BUFFER_LENGTH); } }
/** * Alternative constructor that may be used to feed partially initialized content. * * @param outputBuffer Buffer to use for output before flushing to the underlying stream * @param offset Offset pointing past already buffered content; that is, number of bytes of valid content * to output, within buffer. */ public CBORGenerator(IOContext ctxt, int jsonFeatures, int formatFeatures, ObjectCodec codec, OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable) { super(jsonFeatures, codec); _formatFeatures = formatFeatures; _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); _ioContext = ctxt; _out = out; _bufferRecyclable = bufferRecyclable; _outputTail = offset; _outputBuffer = outputBuffer; _outputEnd = _outputBuffer.length; _charBuffer = ctxt.allocConcatBuffer(); _charBufferLength = _charBuffer.length; // let's just sanity check to prevent nasty odd errors if (_outputEnd < MIN_BUFFER_LENGTH) { throw new IllegalStateException("Internal encoding buffer length ("+_outputEnd +") too short, must be at least "+MIN_BUFFER_LENGTH); } }
public CBORGenerator(IOContext ctxt, int stdFeatures, int formatFeatures, ObjectCodec codec, OutputStream out) { super(stdFeatures, codec); _formatFeatures = formatFeatures; _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); _ioContext = ctxt; _out = out; _bufferRecyclable = true; _outputBuffer = ctxt.allocWriteEncodingBuffer(BYTE_BUFFER_FOR_OUTPUT); _outputEnd = _outputBuffer.length; _charBuffer = ctxt.allocConcatBuffer(); _charBufferLength = _charBuffer.length; // let's just sanity check to prevent nasty odd errors if (_outputEnd < MIN_BUFFER_LENGTH) { throw new IllegalStateException("Internal encoding buffer length ("+_outputEnd +") too short, must be at least "+MIN_BUFFER_LENGTH); } }
public CBORGenerator(IOContext ctxt, int jsonFeatures, int formatFeatures, ObjectCodec codec, OutputStream out) { super(jsonFeatures, codec); _formatFeatures = formatFeatures; _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); _ioContext = ctxt; _out = out; _bufferRecyclable = true; _outputBuffer = ctxt.allocWriteEncodingBuffer(BYTE_BUFFER_FOR_OUTPUT); _outputEnd = _outputBuffer.length; _charBuffer = ctxt.allocConcatBuffer(); _charBufferLength = _charBuffer.length; // let's just sanity check to prevent nasty odd errors if (_outputEnd < MIN_BUFFER_LENGTH) { throw new IllegalStateException("Internal encoding buffer length ("+_outputEnd +") too short, must be at least "+MIN_BUFFER_LENGTH); } }
public CBORGenerator(IOContext ctxt, int stdFeatures, int formatFeatures, ObjectCodec codec, OutputStream out) { super(stdFeatures, codec); _formatFeatures = formatFeatures; _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); _ioContext = ctxt; _out = out; _bufferRecyclable = true; _outputBuffer = ctxt.allocWriteEncodingBuffer(BYTE_BUFFER_FOR_OUTPUT); _outputEnd = _outputBuffer.length; _charBuffer = ctxt.allocConcatBuffer(); _charBufferLength = _charBuffer.length; // let's just sanity check to prevent nasty odd errors if (_outputEnd < MIN_BUFFER_LENGTH) { throw new IllegalStateException("Internal encoding buffer length (" + _outputEnd + ") too short, must be at least " + MIN_BUFFER_LENGTH); } }
public final boolean isEnabled(Feature f) { return (_formatFeatures & f.getMask()) != 0; }
@Override public boolean enabledIn(int flags) { return (flags & getMask()) != 0; } @Override public int getMask() { return _mask; }
public final boolean isEnabled(Feature f) { return (_formatFeatures & f.getMask()) != 0; }
@Override public boolean enabledIn(int flags) { return (flags & getMask()) != 0; } @Override public int getMask() { return _mask; }
public final boolean isEnabled(Feature f) { return (_formatFeatures & f.getMask()) != 0; }
public CBORFactoryBuilder enable(CBORGenerator.Feature f) { _formatWriteFeatures |= f.getMask(); return _this(); }
/** * Method that calculates bit set (flags) of all features that * are enabled by default. */ public static int collectDefaults() { int flags = 0; for (Feature f : values()) { if (f.enabledByDefault()) { flags |= f.getMask(); } } return flags; }
private Feature(boolean defaultState) { _defaultState = defaultState; _mask = (1 << ordinal()); }
/** * Method for enabling specified generator features * (check {@link CBORGenerator.Feature} for list of features) */ public CBORFactory enable(CBORGenerator.Feature f) { _formatGeneratorFeatures |= f.getMask(); return this; }
private Feature(boolean defaultState) { _defaultState = defaultState; _mask = (1 << ordinal()); }
public CBORFactoryBuilder disable(CBORGenerator.Feature f) { _formatWriteFeatures &= ~f.getMask(); return _this(); }
public CBORGenerator disable(Feature f) { _formatFeatures &= ~f.getMask(); if (f == Feature.WRITE_MINIMAL_INTS) { _cfgMinimalInts = false; } return this; }
/** * Method for disabling specified generator feature * (check {@link CBORGenerator.Feature} for list of features) */ public CBORFactory disable(CBORGenerator.Feature f) { _formatGeneratorFeatures &= ~f.getMask(); return this; }