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);
 }