protected internal JsonWriteContext(int type, com.fasterxml.jackson.core.json.JsonWriteContext parent, com.fasterxml.jackson.core.json.DupDetector dups) : base() { // // // Return values for writeValue() // in root context // // // Optional duplicate detection /* /********************************************************** /* Simple instance reuse slots; speed up things /* a bit (10-15%) for docs with lots of small /* arrays/objects /********************************************************** */ /* /********************************************************** /* Location/state information (minus source reference) /********************************************************** */ /* /********************************************************** /* Life-cycle /********************************************************** */ _type = type; _parent = parent; _dups = dups; _index = -1; }
protected internal GeneratorBase(int features, com.fasterxml.jackson.core.ObjectCodec codec) : base() { // // // Constants for validation messages (since 2.6) /* /********************************************************** /* Configuration /********************************************************** */ /* /********************************************************** /* State /********************************************************** */ /* /********************************************************** /* Life-cycle /********************************************************** */ _features = features; _objectCodec = codec; com.fasterxml.jackson.core.json.DupDetector dups = com.fasterxml.jackson.core.JsonGenerator.Feature .STRICT_DUPLICATE_DETECTION.enabledIn(features) ? com.fasterxml.jackson.core.json.DupDetector .rootDetector(this) : null; _writeContext = com.fasterxml.jackson.core.json.JsonWriteContext.createRootContext (dups); _cfgNumbersAsStrings = com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS .enabledIn(features); }
public override com.fasterxml.jackson.core.JsonGenerator setFeatureMask(int newMask ) { int changed = newMask ^ _features; _features = newMask; if ((changed & DERIVED_FEATURES_MASK) != 0) { _cfgNumbersAsStrings = com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS .enabledIn(newMask); if (com.fasterxml.jackson.core.JsonGenerator.Feature.ESCAPE_NON_ASCII.enabledIn(changed )) { if (com.fasterxml.jackson.core.JsonGenerator.Feature.ESCAPE_NON_ASCII.enabledIn(newMask )) { setHighestNonEscapedChar(127); } else { setHighestNonEscapedChar(0); } } if (com.fasterxml.jackson.core.JsonGenerator.Feature.STRICT_DUPLICATE_DETECTION.enabledIn (changed)) { if (com.fasterxml.jackson.core.JsonGenerator.Feature.STRICT_DUPLICATE_DETECTION.enabledIn (newMask)) { // enabling if (_writeContext.getDupDetector() == null) { // but only if disabled currently _writeContext = _writeContext.withDupDetector(com.fasterxml.jackson.core.json.DupDetector .rootDetector(this)); } } else { // disabling _writeContext = _writeContext.withDupDetector(null); } } } return this; }
//public JsonGenerator configure(Feature f, boolean state) { } public override com.fasterxml.jackson.core.JsonGenerator enable(com.fasterxml.jackson.core.JsonGenerator.Feature f) { int mask = f.getMask(); _features |= mask; if ((mask & DERIVED_FEATURES_MASK) != 0) { if (f == com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS) { _cfgNumbersAsStrings = true; } else { if (f == com.fasterxml.jackson.core.JsonGenerator.Feature.ESCAPE_NON_ASCII) { setHighestNonEscapedChar(127); } else { if (f == com.fasterxml.jackson.core.JsonGenerator.Feature.STRICT_DUPLICATE_DETECTION) { if (_writeContext.getDupDetector() == null) { // but only if disabled currently _writeContext = _writeContext.withDupDetector(com.fasterxml.jackson.core.json.DupDetector .rootDetector(this)); } } } } } return this; }
public override com.fasterxml.jackson.core.JsonGenerator disable(com.fasterxml.jackson.core.JsonGenerator.Feature f) { int mask = f.getMask(); _features &= ~mask; if ((mask & DERIVED_FEATURES_MASK) != 0) { if (f == com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS) { _cfgNumbersAsStrings = false; } else { if (f == com.fasterxml.jackson.core.JsonGenerator.Feature.ESCAPE_NON_ASCII) { setHighestNonEscapedChar(0); } else { if (f == com.fasterxml.jackson.core.JsonGenerator.Feature.STRICT_DUPLICATE_DETECTION) { _writeContext = _writeContext.withDupDetector(null); } } } } return this; }
/// <since>2.5</since> protected internal GeneratorBase(int features, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.core.json.JsonWriteContext ctxt) : base() { _features = features; _objectCodec = codec; _writeContext = ctxt; _cfgNumbersAsStrings = com.fasterxml.jackson.core.JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS .enabledIn(features); }
public virtual com.fasterxml.jackson.core.json.JsonWriteContext createChildArrayContext() { com.fasterxml.jackson.core.json.JsonWriteContext ctxt = _child; if (ctxt == null) { _child = ctxt = new com.fasterxml.jackson.core.json.JsonWriteContext(TYPE_ARRAY, this, (_dups == null) ? null : _dups.child()); return ctxt; } return ctxt.reset(TYPE_ARRAY); }