You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by sa...@apache.org on 2014/09/01 18:50:44 UTC

[20/20] git commit: renamed fleece to johnzon

renamed fleece to johnzon


Project: http://git-wip-us.apache.org/repos/asf/incubator-fleece/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fleece/commit/6e86a53e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fleece/tree/6e86a53e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fleece/diff/6e86a53e

Branch: refs/heads/renaming
Commit: 6e86a53e85f50893fbbb8ab156e99a8e10de59a8
Parents: 8ff6945
Author: salyh <he...@gmail.com>
Authored: Mon Sep 1 18:27:10 2014 +0200
Committer: salyh <he...@gmail.com>
Committed: Mon Sep 1 18:27:10 2014 +0200

----------------------------------------------------------------------
 DISCLAIMER                                      |     6 +-
 fleece-core/pom.xml                             |    36 -
 .../org/apache/fleece/core/BufferStrategy.java  |   272 -
 .../fleece/core/JsonArrayBuilderImpl.java       |   130 -
 .../org/apache/fleece/core/JsonArrayImpl.java   |   174 -
 .../fleece/core/JsonBuilderFactoryImpl.java     |    61 -
 .../java/org/apache/fleece/core/JsonChars.java  |    82 -
 .../org/apache/fleece/core/JsonDoubleImpl.java  |   102 -
 .../fleece/core/JsonGeneratorFactoryImpl.java   |   121 -
 .../apache/fleece/core/JsonGeneratorImpl.java   |   870 -
 .../apache/fleece/core/JsonInMemoryParser.java  |   180 -
 .../apache/fleece/core/JsonLocationImpl.java    |    80 -
 .../org/apache/fleece/core/JsonLongImpl.java    |    97 -
 .../org/apache/fleece/core/JsonNumberImpl.java  |   107 -
 .../fleece/core/JsonObjectBuilderImpl.java      |   131 -
 .../org/apache/fleece/core/JsonObjectImpl.java  |   167 -
 .../fleece/core/JsonParserFactoryImpl.java      |   149 -
 .../fleece/core/JsonPrettyGeneratorImpl.java    |   305 -
 .../apache/fleece/core/JsonProviderImpl.java    |   205 -
 .../fleece/core/JsonReaderFactoryImpl.java      |    72 -
 .../org/apache/fleece/core/JsonReaderImpl.java  |   208 -
 .../fleece/core/JsonStreamParserImpl.java       |   964 -
 .../org/apache/fleece/core/JsonStringImpl.java  |    76 -
 .../fleece/core/JsonWriterFactoryImpl.java      |    77 -
 .../org/apache/fleece/core/JsonWriterImpl.java  |    73 -
 .../core/RFC4627AwareInputStreamReader.java     |   130 -
 .../java/org/apache/fleece/core/Strings.java    |   127 -
 .../fleece/core/ThreadLocalBufferCache.java     |    53 -
 .../services/javax.json.spi.JsonProvider        |     1 -
 .../fleece/core/JsonArrayBuilderImplTest.java   |   170 -
 .../apache/fleece/core/JsonArrayImplTest.java   |    61 -
 .../fleece/core/JsonGeneratorImplTest.java      |   281 -
 .../org/apache/fleece/core/JsonNumberTest.java  |    51 -
 .../fleece/core/JsonObjectBuilderImplTest.java  |    35 -
 .../apache/fleece/core/JsonObjectImplTest.java  |    35 -
 .../org/apache/fleece/core/JsonParserTest.java  |  1419 -
 .../apache/fleece/core/JsonReaderImplTest.java  |   453 -
 .../apache/fleece/core/JsonWriterImplTest.java  |    42 -
 .../org/apache/fleece/core/LocationTest.java    |   235 -
 .../src/test/resources/bench/big_600kb.json     | 21170 --------
 .../src/test/resources/bench/huge_1mb.json      | 44003 -----------------
 .../src/test/resources/bench/large_130kb.json   |  4328 --
 .../src/test/resources/bench/medium_11kb.json   |   443 -
 .../src/test/resources/bench/small_3kb.json     |    86 -
 .../src/test/resources/bench/tiny_50b.json      |     5 -
 .../resources/bench/unicode_chars_1400kb.txt    |   Bin 1424384 -> 0 bytes
 .../resources/bench/unicode_chars_170kb.txt     |   Bin 178048 -> 0 bytes
 fleece-core/src/test/resources/json/array.json  |     8 -
 .../src/test/resources/json/bigdecimal.json     |     5 -
 fleece-core/src/test/resources/json/empty.json  |     1 -
 .../src/test/resources/json/emptyarray.json     |     3 -
 .../src/test/resources/json/escaping.json       |    11 -
 .../src/test/resources/json/fails/fail1.json    |     8 -
 .../src/test/resources/json/fails/fail10.json   |     7 -
 .../src/test/resources/json/fails/fail11.json   |     8 -
 .../src/test/resources/json/fails/fail12.json   |     8 -
 .../src/test/resources/json/fails/fail13.json   |     8 -
 .../src/test/resources/json/fails/fail14.json   |     8 -
 .../src/test/resources/json/fails/fail15.json   |    11 -
 .../src/test/resources/json/fails/fail16.json   |     9 -
 .../src/test/resources/json/fails/fail17.json   |     9 -
 .../src/test/resources/json/fails/fail18.json   |    11 -
 .../src/test/resources/json/fails/fail19.json   |    10 -
 .../src/test/resources/json/fails/fail2.json    |     8 -
 .../src/test/resources/json/fails/fail20.json   |    10 -
 .../src/test/resources/json/fails/fail21.json   |    10 -
 .../src/test/resources/json/fails/fail22.json   |     1 -
 .../src/test/resources/json/fails/fail23.json   |     8 -
 .../src/test/resources/json/fails/fail24.json   |     5 -
 .../src/test/resources/json/fails/fail25.json   |     8 -
 .../src/test/resources/json/fails/fail26.json   |     7 -
 .../src/test/resources/json/fails/fail27.json   |     7 -
 .../src/test/resources/json/fails/fail28.json   |     7 -
 .../src/test/resources/json/fails/fail29.json   |     7 -
 .../src/test/resources/json/fails/fail3.json    |     8 -
 .../src/test/resources/json/fails/fail30.json   |     7 -
 .../src/test/resources/json/fails/fail31.json   |     7 -
 .../src/test/resources/json/fails/fail32.json   |     7 -
 .../src/test/resources/json/fails/fail33.json   |     7 -
 .../src/test/resources/json/fails/fail34.json   |     7 -
 .../src/test/resources/json/fails/fail35.json   |     7 -
 .../src/test/resources/json/fails/fail36.json   |     3 -
 .../src/test/resources/json/fails/fail37.json   |     4 -
 .../src/test/resources/json/fails/fail38.json   |     3 -
 .../src/test/resources/json/fails/fail39.json   |     3 -
 .../src/test/resources/json/fails/fail4.json    |     8 -
 .../src/test/resources/json/fails/fail40.json   |     4 -
 .../src/test/resources/json/fails/fail41.json   |     3 -
 .../src/test/resources/json/fails/fail42.json   |     3 -
 .../src/test/resources/json/fails/fail43.json   |     3 -
 .../src/test/resources/json/fails/fail44.json   |     3 -
 .../src/test/resources/json/fails/fail45.json   |     3 -
 .../src/test/resources/json/fails/fail46.json   |     3 -
 .../src/test/resources/json/fails/fail47.json   |     1 -
 .../src/test/resources/json/fails/fail48.json   |     6 -
 .../src/test/resources/json/fails/fail49.json   |     1 -
 .../src/test/resources/json/fails/fail5.json    |     8 -
 .../src/test/resources/json/fails/fail50.json   |     4 -
 .../src/test/resources/json/fails/fail51.json   |     1 -
 .../src/test/resources/json/fails/fail52.json   |     1 -
 .../src/test/resources/json/fails/fail53.json   |    11 -
 .../src/test/resources/json/fails/fail54.json   |    12 -
 .../src/test/resources/json/fails/fail55.json   |    12 -
 .../src/test/resources/json/fails/fail56.json   |    11 -
 .../src/test/resources/json/fails/fail57.json   |     1 -
 .../src/test/resources/json/fails/fail58.json   |     3 -
 .../src/test/resources/json/fails/fail59.json   |     1 -
 .../src/test/resources/json/fails/fail6.json    |     8 -
 .../src/test/resources/json/fails/fail60.json   |     1 -
 .../src/test/resources/json/fails/fail61.json   |     3 -
 .../src/test/resources/json/fails/fail62.json   |     3 -
 .../src/test/resources/json/fails/fail63.json   |     3 -
 .../src/test/resources/json/fails/fail64.json   |     3 -
 .../src/test/resources/json/fails/fail65.json   |     3 -
 .../src/test/resources/json/fails/fail66.json   |     3 -
 .../src/test/resources/json/fails/fail67.json   |     3 -
 .../src/test/resources/json/fails/fail68.json   |     3 -
 .../src/test/resources/json/fails/fail69.json   |     3 -
 .../src/test/resources/json/fails/fail7.json    |     8 -
 .../src/test/resources/json/fails/fail70.json   |     3 -
 .../src/test/resources/json/fails/fail71.json   |     3 -
 .../src/test/resources/json/fails/fail72.json   |     3 -
 .../src/test/resources/json/fails/fail8.json    |     8 -
 .../src/test/resources/json/fails/fail9.json    |     8 -
 .../src/test/resources/json/fails/numbers.json  |    18 -
 fleece-core/src/test/resources/json/nested.json |     9 -
 .../src/test/resources/json/numbers.json        |    18 -
 fleece-core/src/test/resources/json/simple.json |     8 -
 .../src/test/resources/json/simple2.json        |     8 -
 .../src/test/resources/json/simple_utf16le.json |   Bin 136 -> 0 bytes
 .../src/test/resources/json/special.json        |    18 -
 .../src/test/resources/json/stringescape.json   |     3 -
 .../src/test/resources/json/unicode.json        |    10 -
 fleece-jaxrs/pom.xml                            |    71 -
 .../apache/fleece/jaxrs/DelegateProvider.java   |    73 -
 .../fleece/jaxrs/FleeceMessageBodyReader.java   |    75 -
 .../fleece/jaxrs/FleeceMessageBodyWriter.java   |    88 -
 .../org/apache/fleece/jaxrs/FleeceProvider.java |    41 -
 .../java/org/apache/fleece/jaxrs/Jsons.java     |    39 -
 .../fleece/jaxrs/JsrMessageBodyReader.java      |    75 -
 .../fleece/jaxrs/JsrMessageBodyWriter.java      |    88 -
 .../org/apache/fleece/jaxrs/JsrProvider.java    |    35 -
 .../jaxrs/WadlDocumentMessageBodyWriter.java    |    63 -
 .../fleece/jaxrs/xml/WadlDocumentToJson.java    |    98 -
 .../apache/fleece/jaxrs/FleeceProviderTest.java |   161 -
 .../apache/fleece/jaxrs/JsrProviderTest.java    |   104 -
 .../jaxrs/xml/WadlDocumentToJsonTest.java       |    61 -
 fleece-mapper/pom.xml                           |    44 -
 .../org/apache/fleece/mapper/Converter.java     |    24 -
 .../apache/fleece/mapper/FleeceConverter.java   |    31 -
 .../org/apache/fleece/mapper/FleeceIgnore.java  |    36 -
 .../java/org/apache/fleece/mapper/Mapper.java   |   670 -
 .../org/apache/fleece/mapper/MapperBuilder.java |   127 -
 .../apache/fleece/mapper/MapperException.java   |    31 -
 .../mapper/converter/BigDecimalConverter.java   |    35 -
 .../mapper/converter/BigIntegerConverter.java   |    35 -
 .../mapper/converter/BooleanConverter.java      |    33 -
 .../fleece/mapper/converter/ByteConverter.java  |    33 -
 .../converter/CachedDelegateConverter.java      |    54 -
 .../mapper/converter/CharacterConverter.java    |    33 -
 .../fleece/mapper/converter/ClassConverter.java |    37 -
 .../fleece/mapper/converter/DateConverter.java  |    54 -
 .../mapper/converter/DoubleConverter.java       |    33 -
 .../fleece/mapper/converter/EnumConverter.java  |    46 -
 .../fleece/mapper/converter/FloatConverter.java |    33 -
 .../mapper/converter/IntegerConverter.java      |    33 -
 .../fleece/mapper/converter/LongConverter.java  |    33 -
 .../fleece/mapper/converter/ShortConverter.java |    33 -
 .../mapper/converter/StringConverter.java       |    33 -
 .../fleece/mapper/reflection/Mappings.java      |   266 -
 .../org/apache/fleece/mapper/LiteralTest.java   |   253 -
 .../fleece/mapper/MapperEnhancedTest.java       |   304 -
 .../org/apache/fleece/mapper/MapperTest.java    |   505 -
 .../apache/fleece/mapper/MapperVersionTest.java |    68 -
 .../mapper/converter/EnumConverterTest.java     |    39 -
 johnzon-core/pom.xml                            |    36 +
 .../org/apache/johnzon/core/BufferStrategy.java |   272 +
 .../johnzon/core/JsonArrayBuilderImpl.java      |   130 +
 .../org/apache/johnzon/core/JsonArrayImpl.java  |   174 +
 .../johnzon/core/JsonBuilderFactoryImpl.java    |    61 +
 .../java/org/apache/johnzon/core/JsonChars.java |    82 +
 .../org/apache/johnzon/core/JsonDoubleImpl.java |   102 +
 .../johnzon/core/JsonGeneratorFactoryImpl.java  |   121 +
 .../apache/johnzon/core/JsonGeneratorImpl.java  |   870 +
 .../apache/johnzon/core/JsonInMemoryParser.java |   180 +
 .../apache/johnzon/core/JsonLocationImpl.java   |    80 +
 .../org/apache/johnzon/core/JsonLongImpl.java   |    97 +
 .../org/apache/johnzon/core/JsonNumberImpl.java |   107 +
 .../johnzon/core/JsonObjectBuilderImpl.java     |   131 +
 .../org/apache/johnzon/core/JsonObjectImpl.java |   167 +
 .../johnzon/core/JsonParserFactoryImpl.java     |   149 +
 .../johnzon/core/JsonPrettyGeneratorImpl.java   |   305 +
 .../apache/johnzon/core/JsonProviderImpl.java   |   205 +
 .../johnzon/core/JsonReaderFactoryImpl.java     |    72 +
 .../org/apache/johnzon/core/JsonReaderImpl.java |   208 +
 .../johnzon/core/JsonStreamParserImpl.java      |   964 +
 .../org/apache/johnzon/core/JsonStringImpl.java |    76 +
 .../johnzon/core/JsonWriterFactoryImpl.java     |    77 +
 .../org/apache/johnzon/core/JsonWriterImpl.java |    73 +
 .../core/RFC4627AwareInputStreamReader.java     |   130 +
 .../java/org/apache/johnzon/core/Strings.java   |   127 +
 .../johnzon/core/ThreadLocalBufferCache.java    |    53 +
 .../services/javax.json.spi.JsonProvider        |     1 +
 .../johnzon/core/JsonArrayBuilderImplTest.java  |   170 +
 .../apache/johnzon/core/JsonArrayImplTest.java  |    61 +
 .../johnzon/core/JsonGeneratorImplTest.java     |   281 +
 .../org/apache/johnzon/core/JsonNumberTest.java |    51 +
 .../johnzon/core/JsonObjectBuilderImplTest.java |    35 +
 .../apache/johnzon/core/JsonObjectImplTest.java |    35 +
 .../org/apache/johnzon/core/JsonParserTest.java |  1419 +
 .../apache/johnzon/core/JsonReaderImplTest.java |   453 +
 .../apache/johnzon/core/JsonWriterImplTest.java |    42 +
 .../org/apache/johnzon/core/LocationTest.java   |   235 +
 .../src/test/resources/bench/big_600kb.json     | 21170 ++++++++
 .../src/test/resources/bench/huge_1mb.json      | 44003 +++++++++++++++++
 .../src/test/resources/bench/large_130kb.json   |  4328 ++
 .../src/test/resources/bench/medium_11kb.json   |   443 +
 .../src/test/resources/bench/small_3kb.json     |    86 +
 .../src/test/resources/bench/tiny_50b.json      |     5 +
 .../resources/bench/unicode_chars_1400kb.txt    |   Bin 0 -> 1424384 bytes
 .../resources/bench/unicode_chars_170kb.txt     |   Bin 0 -> 178048 bytes
 johnzon-core/src/test/resources/json/array.json |     8 +
 .../src/test/resources/json/bigdecimal.json     |     5 +
 johnzon-core/src/test/resources/json/empty.json |     1 +
 .../src/test/resources/json/emptyarray.json     |     3 +
 .../src/test/resources/json/escaping.json       |    11 +
 .../src/test/resources/json/fails/fail1.json    |     8 +
 .../src/test/resources/json/fails/fail10.json   |     7 +
 .../src/test/resources/json/fails/fail11.json   |     8 +
 .../src/test/resources/json/fails/fail12.json   |     8 +
 .../src/test/resources/json/fails/fail13.json   |     8 +
 .../src/test/resources/json/fails/fail14.json   |     8 +
 .../src/test/resources/json/fails/fail15.json   |    11 +
 .../src/test/resources/json/fails/fail16.json   |     9 +
 .../src/test/resources/json/fails/fail17.json   |     9 +
 .../src/test/resources/json/fails/fail18.json   |    11 +
 .../src/test/resources/json/fails/fail19.json   |    10 +
 .../src/test/resources/json/fails/fail2.json    |     8 +
 .../src/test/resources/json/fails/fail20.json   |    10 +
 .../src/test/resources/json/fails/fail21.json   |    10 +
 .../src/test/resources/json/fails/fail22.json   |     1 +
 .../src/test/resources/json/fails/fail23.json   |     8 +
 .../src/test/resources/json/fails/fail24.json   |     5 +
 .../src/test/resources/json/fails/fail25.json   |     8 +
 .../src/test/resources/json/fails/fail26.json   |     7 +
 .../src/test/resources/json/fails/fail27.json   |     7 +
 .../src/test/resources/json/fails/fail28.json   |     7 +
 .../src/test/resources/json/fails/fail29.json   |     7 +
 .../src/test/resources/json/fails/fail3.json    |     8 +
 .../src/test/resources/json/fails/fail30.json   |     7 +
 .../src/test/resources/json/fails/fail31.json   |     7 +
 .../src/test/resources/json/fails/fail32.json   |     7 +
 .../src/test/resources/json/fails/fail33.json   |     7 +
 .../src/test/resources/json/fails/fail34.json   |     7 +
 .../src/test/resources/json/fails/fail35.json   |     7 +
 .../src/test/resources/json/fails/fail36.json   |     3 +
 .../src/test/resources/json/fails/fail37.json   |     4 +
 .../src/test/resources/json/fails/fail38.json   |     3 +
 .../src/test/resources/json/fails/fail39.json   |     3 +
 .../src/test/resources/json/fails/fail4.json    |     8 +
 .../src/test/resources/json/fails/fail40.json   |     4 +
 .../src/test/resources/json/fails/fail41.json   |     3 +
 .../src/test/resources/json/fails/fail42.json   |     3 +
 .../src/test/resources/json/fails/fail43.json   |     3 +
 .../src/test/resources/json/fails/fail44.json   |     3 +
 .../src/test/resources/json/fails/fail45.json   |     3 +
 .../src/test/resources/json/fails/fail46.json   |     3 +
 .../src/test/resources/json/fails/fail47.json   |     1 +
 .../src/test/resources/json/fails/fail48.json   |     6 +
 .../src/test/resources/json/fails/fail49.json   |     1 +
 .../src/test/resources/json/fails/fail5.json    |     8 +
 .../src/test/resources/json/fails/fail50.json   |     4 +
 .../src/test/resources/json/fails/fail51.json   |     1 +
 .../src/test/resources/json/fails/fail52.json   |     1 +
 .../src/test/resources/json/fails/fail53.json   |    11 +
 .../src/test/resources/json/fails/fail54.json   |    12 +
 .../src/test/resources/json/fails/fail55.json   |    12 +
 .../src/test/resources/json/fails/fail56.json   |    11 +
 .../src/test/resources/json/fails/fail57.json   |     1 +
 .../src/test/resources/json/fails/fail58.json   |     3 +
 .../src/test/resources/json/fails/fail59.json   |     1 +
 .../src/test/resources/json/fails/fail6.json    |     8 +
 .../src/test/resources/json/fails/fail60.json   |     1 +
 .../src/test/resources/json/fails/fail61.json   |     3 +
 .../src/test/resources/json/fails/fail62.json   |     3 +
 .../src/test/resources/json/fails/fail63.json   |     3 +
 .../src/test/resources/json/fails/fail64.json   |     3 +
 .../src/test/resources/json/fails/fail65.json   |     3 +
 .../src/test/resources/json/fails/fail66.json   |     3 +
 .../src/test/resources/json/fails/fail67.json   |     3 +
 .../src/test/resources/json/fails/fail68.json   |     3 +
 .../src/test/resources/json/fails/fail69.json   |     3 +
 .../src/test/resources/json/fails/fail7.json    |     8 +
 .../src/test/resources/json/fails/fail70.json   |     3 +
 .../src/test/resources/json/fails/fail71.json   |     3 +
 .../src/test/resources/json/fails/fail72.json   |     3 +
 .../src/test/resources/json/fails/fail8.json    |     8 +
 .../src/test/resources/json/fails/fail9.json    |     8 +
 .../src/test/resources/json/fails/numbers.json  |    18 +
 .../src/test/resources/json/nested.json         |     9 +
 .../src/test/resources/json/numbers.json        |    18 +
 .../src/test/resources/json/simple.json         |     8 +
 .../src/test/resources/json/simple2.json        |     8 +
 .../src/test/resources/json/simple_utf16le.json |   Bin 0 -> 136 bytes
 .../src/test/resources/json/special.json        |    18 +
 .../src/test/resources/json/stringescape.json   |     3 +
 .../src/test/resources/json/unicode.json        |    10 +
 johnzon-jaxrs/pom.xml                           |    71 +
 .../apache/johnzon/jaxrs/DelegateProvider.java  |    73 +
 .../johnzon/jaxrs/JohnzonMessageBodyReader.java |    75 +
 .../johnzon/jaxrs/JohnzonMessageBodyWriter.java |    88 +
 .../apache/johnzon/jaxrs/JohnzonProvider.java   |    41 +
 .../java/org/apache/johnzon/jaxrs/Jsons.java    |    39 +
 .../johnzon/jaxrs/JsrMessageBodyReader.java     |    75 +
 .../johnzon/jaxrs/JsrMessageBodyWriter.java     |    88 +
 .../org/apache/johnzon/jaxrs/JsrProvider.java   |    35 +
 .../jaxrs/WadlDocumentMessageBodyWriter.java    |    63 +
 .../johnzon/jaxrs/xml/WadlDocumentToJson.java   |    98 +
 .../johnzon/jaxrs/JohnzonProviderTest.java      |   161 +
 .../apache/johnzon/jaxrs/JsrProviderTest.java   |   104 +
 .../jaxrs/xml/WadlDocumentToJsonTest.java       |    61 +
 johnzon-mapper/pom.xml                          |    44 +
 .../org/apache/johnzon/mapper/Converter.java    |    24 +
 .../apache/johnzon/mapper/JohnzonConverter.java |    31 +
 .../apache/johnzon/mapper/JohnzonIgnore.java    |    36 +
 .../java/org/apache/johnzon/mapper/Mapper.java  |   670 +
 .../apache/johnzon/mapper/MapperBuilder.java    |   127 +
 .../apache/johnzon/mapper/MapperException.java  |    31 +
 .../mapper/converter/BigDecimalConverter.java   |    35 +
 .../mapper/converter/BigIntegerConverter.java   |    35 +
 .../mapper/converter/BooleanConverter.java      |    33 +
 .../johnzon/mapper/converter/ByteConverter.java |    33 +
 .../converter/CachedDelegateConverter.java      |    54 +
 .../mapper/converter/CharacterConverter.java    |    33 +
 .../mapper/converter/ClassConverter.java        |    37 +
 .../johnzon/mapper/converter/DateConverter.java |    54 +
 .../mapper/converter/DoubleConverter.java       |    33 +
 .../johnzon/mapper/converter/EnumConverter.java |    46 +
 .../mapper/converter/FloatConverter.java        |    33 +
 .../mapper/converter/IntegerConverter.java      |    33 +
 .../johnzon/mapper/converter/LongConverter.java |    33 +
 .../mapper/converter/ShortConverter.java        |    33 +
 .../mapper/converter/StringConverter.java       |    33 +
 .../johnzon/mapper/reflection/Mappings.java     |   266 +
 .../org/apache/johnzon/mapper/LiteralTest.java  |   253 +
 .../johnzon/mapper/MapperEnhancedTest.java      |   304 +
 .../org/apache/johnzon/mapper/MapperTest.java   |   505 +
 .../johnzon/mapper/MapperVersionTest.java       |    68 +
 .../mapper/converter/EnumConverterTest.java     |    39 +
 pom.xml                                         |    42 +-
 src/site/markdown/index.md                      |    28 +-
 src/site/site.xml                               |    10 +-
 352 files changed, 82468 insertions(+), 82468 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/DISCLAIMER
----------------------------------------------------------------------
diff --git a/DISCLAIMER b/DISCLAIMER
index 27d45d2..39e09ad 100644
--- a/DISCLAIMER
+++ b/DISCLAIMER
@@ -1,4 +1,4 @@
-Apache Fleece is an effort undergoing incubation at the Apache Software
+Apache Johnzon is an effort undergoing incubation at the Apache Software
 Foundation (ASF), sponsored by the Apache Incubator PMC.
 
 Incubation is required of all newly accepted projects until a further review
@@ -12,5 +12,5 @@ fully endorsed by the ASF.
 For more information about the incubation status of the Apache Sirona project you
 can go to the following page:
 
-http://incubator.apache.org/projects/fleece.html
-http://fleece.incubator.apache.org
+http://incubator.apache.org/projects/johnzon.html
+http://johnzon.incubator.apache.org

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/pom.xml
----------------------------------------------------------------------
diff --git a/fleece-core/pom.xml b/fleece-core/pom.xml
deleted file mode 100644
index 6fb26e9..0000000
--- a/fleece-core/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <parent>
-    <artifactId>fleece</artifactId>
-    <groupId>org.apache.fleece</groupId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>fleece-core</artifactId>
-  <name>Fleece :: Core</name>
-
-  <properties>
-    <staging.directory>${project.parent.reporting.outputDirectory}</staging.directory>
-  </properties>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java b/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
deleted file mode 100644
index e80dd91..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.io.Serializable;
-import java.util.concurrent.ConcurrentLinkedQueue;
-
-public enum BufferStrategy {
-    BY_INSTANCE {
-        @Override
-        public BufferProvider<char[]> newCharProvider(final int size) {
-            return new CharBufferByInstanceProvider(size);
-        }
-
-        @Override
-        public BufferProvider<StringBuilder> newStringBuilderProvider(final int size) {
-            return new StringBuilderByInstanceProvider(size);
-        }
-    },
-    THREAD_LOCAL {
-        @Override
-        public BufferProvider<char[]> newCharProvider(final int size) {
-            return new CharBufferThreadLocalProvider(size);
-        }
-
-        @Override
-        public BufferProvider<StringBuilder> newStringBuilderProvider(final int size) {
-            return new StringBuilderThreadLocalProvider(size);
-        }
-    },
-    QUEUE {
-        @Override
-        public BufferProvider<char[]> newCharProvider(final int size) {
-            return new CharBufferQueueProvider(size);
-        }
-
-        @Override
-        public BufferProvider<StringBuilder> newStringBuilderProvider(final int size) {
-            return new StringBuilderQueueProvider(size);
-        }
-    },
-    SINGLETON {
-        @Override
-        public BufferProvider<char[]> newCharProvider(final int size) {
-            return new CharBufferSingletonProvider(size);
-        }
-
-        @Override
-        public BufferProvider<StringBuilder> newStringBuilderProvider(final int size) {
-            return new StringBuilderSingletonProvider(size);
-        }
-    };
-
-    public abstract BufferProvider<char[]> newCharProvider(int size);
-    public abstract BufferProvider<StringBuilder> newStringBuilderProvider(int size);
-
-    public static interface BufferProvider<T> extends Serializable {
-        T newBuffer();
-
-        void release(T value);
-    }
-
-    private static class CharBufferSingletonProvider extends SingletonProvider<char[]> {
-        public CharBufferSingletonProvider(final int size) {
-            super(size);
-        }
-
-        @Override
-        protected char[] newInstance(int size) {
-            return new char[size];
-        }
-
-        @Override
-        public void release(final char[] value) {
-            // no-op
-        }
-    }
-
-    private static class StringBuilderSingletonProvider extends SingletonProvider<StringBuilder> {
-        public StringBuilderSingletonProvider(final int size) {
-            super(size);
-        }
-
-        @Override
-        protected StringBuilder newInstance(final int size) {
-            return new StringBuilder(size);
-        }
-
-        @Override
-        public void release(final StringBuilder value) {
-            value.setLength(0);
-        }
-    }
-
-    private static abstract class SingletonProvider<T> implements BufferProvider<T> {
-        protected final T buffer;
-
-        public SingletonProvider(final int size) {
-            buffer = newInstance(size);
-        }
-
-        protected abstract T newInstance(int size);
-
-        @Override
-        public T newBuffer() {
-            return buffer;
-        }
-
-        @Override
-        public void release(final T value) {
-            // no-op
-        }
-    }
-
-    private static abstract class ThreadLocalProvider<T> implements BufferProvider<T> {
-        private final ThreadLocalBufferCache<T> cache;
-
-        public ThreadLocalProvider(final int size) {
-            cache = new ThreadLocalBufferCache<T>(size) {
-                @Override
-                protected T newValue(int defaultSize) {
-                    return newInstance(size);
-                }
-            };
-        }
-
-        protected abstract T newInstance(int size);
-
-        @Override
-        public T newBuffer() {
-            return cache.getCache();
-        }
-
-        @Override
-        public void release(final T value) {
-            cache.release(value);
-        }
-    }
-
-    private static class CharBufferThreadLocalProvider extends ThreadLocalProvider<char[]> {
-        public CharBufferThreadLocalProvider(int size) {
-            super(size);
-        }
-
-        @Override
-        protected char[] newInstance(final int size) {
-            return new char[size];
-        }
-    }
-
-    private static class StringBuilderThreadLocalProvider extends ThreadLocalProvider<StringBuilder> {
-        public StringBuilderThreadLocalProvider(int size) {
-            super(size);
-        }
-
-        @Override
-        protected StringBuilder newInstance(final int size) {
-            return new StringBuilder(size);
-        }
-
-        @Override
-        public void release(final StringBuilder value) {
-            value.setLength(0);
-            super.release(value);
-        }
-    }
-
-    private static class CharBufferByInstanceProvider implements BufferProvider<char[]> {
-        private final int size;
-
-        public CharBufferByInstanceProvider(final int size) {
-            this.size = size;
-        }
-
-        @Override
-        public char[] newBuffer() {
-            return new char[size];
-        }
-
-        @Override
-        public void release(final char[] value) {
-            // no-op
-        }
-    }
-
-    private static class StringBuilderByInstanceProvider implements BufferProvider<StringBuilder> {
-        private final int size;
-
-        public StringBuilderByInstanceProvider(final int size) {
-            this.size = size;
-        }
-
-        @Override
-        public StringBuilder newBuffer() {
-            return new StringBuilder(size);
-        }
-
-        @Override
-        public void release(final StringBuilder value) {
-            // no-op
-        }
-    }
-
-    private static abstract class QueueProvider<T> implements BufferProvider<T> {
-        private final int size;
-        private final ConcurrentLinkedQueue<T> queue = new ConcurrentLinkedQueue<T>();
-
-        public QueueProvider(final int size) {
-            this.size = size;
-        }
-
-        protected abstract T newInstance(int size);
-
-        @Override
-        public T newBuffer() {
-            final T buffer = queue.poll();
-            if (buffer == null) {
-                return newInstance(size);
-            }
-            return buffer;
-        }
-
-        @Override
-        public void release(final T value) {
-            queue.offer(value);
-        }
-    }
-
-    private static class CharBufferQueueProvider extends QueueProvider<char[]> {
-        public CharBufferQueueProvider(final int size) {
-            super(size);
-        }
-
-        @Override
-        protected char[] newInstance(int size) {
-            return new char[size];
-        }
-    }
-
-    private static class StringBuilderQueueProvider extends QueueProvider<StringBuilder> {
-        public StringBuilderQueueProvider(final int size) {
-            super(size);
-        }
-
-        @Override
-        protected StringBuilder newInstance(int size) {
-            return new StringBuilder(size);
-        }
-
-        @Override
-        public void release(final StringBuilder value) {
-            value.setLength(0);
-            super.release(value);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayBuilderImpl.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayBuilderImpl.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayBuilderImpl.java
deleted file mode 100644
index a92eede..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayBuilderImpl.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonValue;
-
-class JsonArrayBuilderImpl implements JsonArrayBuilder, Serializable {
-    private List<JsonValue> tmpList;
-
-    @Override
-    public JsonArrayBuilder add(final JsonValue value) {
-        addValue(value);
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final String value) {
-        addValue(new JsonStringImpl(value));
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final BigDecimal value) {
-        addValue(new JsonNumberImpl(value));
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final BigInteger value) {
-        addValue(new JsonNumberImpl(new BigDecimal(value)));
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final int value) {
-        addValue(new JsonLongImpl(value));
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final long value) {
-        addValue(new JsonLongImpl(value));
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final double value) {
-        addValue(new JsonDoubleImpl(value));
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final boolean value) {
-        addValue(value ? JsonValue.TRUE : JsonValue.FALSE);
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder addNull() {
-        addValue(JsonValue.NULL);
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final JsonObjectBuilder builder) {
-        addValue(builder.build());
-        return this;
-    }
-
-    @Override
-    public JsonArrayBuilder add(final JsonArrayBuilder builder) {
-        addValue(builder.build());
-        return this;
-    }
-    
-    private void addValue(JsonValue value){
-        if (value == null) {
-            throw npe();
-        }
-        
-        if(tmpList==null){
-            tmpList=new ArrayList<JsonValue>();
-        }
-        
-        tmpList.add(value);
-    }
-
-    @Override
-    public JsonArray build() {
-        
-        if(tmpList == null) {
-            return new JsonArrayImpl(Collections.EMPTY_LIST);
-        } else {
-            List<JsonValue> dump = (Collections.unmodifiableList(tmpList));
-            tmpList=null;
-            return new JsonArrayImpl(dump);
-        }
-        
-    }
-
-    private static NullPointerException npe() {
-        throw new NullPointerException("value/builder must not be null");
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayImpl.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayImpl.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayImpl.java
deleted file mode 100644
index fa1e230..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonArrayImpl.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.io.Serializable;
-import java.util.AbstractList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonValue;
-
-class JsonArrayImpl extends AbstractList<JsonValue> implements JsonArray, Serializable {
-    private Integer hashCode = null;
-    private final List<JsonValue> unmodifieableBackingList;
-
-    JsonArrayImpl(List<JsonValue> backingList) {
-        super();
-        this.unmodifieableBackingList = backingList;
-    }
-
-
-
-    private <T> T value(final int idx, final Class<T> type) {
-        if (idx > unmodifieableBackingList.size()) {
-            throw new IndexOutOfBoundsException(idx + "/" + unmodifieableBackingList.size());
-        }
-        return type.cast(unmodifieableBackingList.get(idx));
-    }
-    
-    
-
-    @Override
-    public JsonObject getJsonObject(final int index) {
-        return value(index, JsonObject.class);
-    }
-
-    @Override
-    public JsonArray getJsonArray(final int index) {
-        return value(index, JsonArray.class);
-    }
-
-    @Override
-    public JsonNumber getJsonNumber(final int index) {
-        return value(index, JsonNumber.class);
-    }
-
-    @Override
-    public JsonString getJsonString(final int index) {
-        return value(index, JsonString.class);
-    }
-
-    @Override
-    public <T extends JsonValue> List<T> getValuesAs(final Class<T> clazz) {
-        return (List<T>) unmodifieableBackingList;
-    }
-
-    @Override
-    public String getString(final int index) {
-        return value(index, JsonString.class).getString();
-    }
-
-    @Override
-    public String getString(final int index, final String defaultValue) {
-        try {
-            return getString(index);
-        } catch (final IndexOutOfBoundsException ioobe) {
-            return defaultValue;
-        }
-    }
-
-    @Override
-    public int getInt(final int index) {
-        return value(index, JsonNumber.class).intValue();
-    }
-
-    @Override
-    public int getInt(final int index, final int defaultValue) {
-        try {
-            return getInt(index);
-        } catch (final IndexOutOfBoundsException ioobe) {
-            return defaultValue;
-        }
-    }
-
-    @Override
-    public boolean getBoolean(final int index) {
-        return value(index, JsonValue.class) == JsonValue.TRUE;
-    }
-
-    @Override
-    public boolean getBoolean(final int index, final boolean defaultValue) {
-        try {
-            return getBoolean(index);
-        } catch (final IndexOutOfBoundsException ioobe) {
-            return defaultValue;
-        }
-    }
-
-    @Override
-    public boolean isNull(final int index) {
-        return value(index, JsonValue.class) == JsonValue.NULL;
-    }
-
-    @Override
-    public ValueType getValueType() {
-        return ValueType.ARRAY;
-    }
-
-    @Override
-    public String toString() {
-        final StringBuilder builder = new StringBuilder("[");
-        final Iterator<JsonValue> it = unmodifieableBackingList.iterator();
-        boolean hasNext = it.hasNext();
-        while (hasNext) {
-            final JsonValue jsonValue = it.next();
-            if (JsonString.class.isInstance(jsonValue)) {
-                builder.append(jsonValue.toString());
-            } else {
-                builder.append(jsonValue != JsonValue.NULL ? jsonValue.toString() : JsonChars.NULL);
-            }
-            hasNext = it.hasNext();
-            if (hasNext) {
-                builder.append(",");
-            }
-        }
-        return builder.append(']').toString();
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        return JsonArrayImpl.class.isInstance(obj) && unmodifieableBackingList.equals(JsonArrayImpl.class.cast(obj).unmodifieableBackingList);
-    }
-
-    
-    @Override
-    public int hashCode() {
-        Integer h=hashCode;
-        if (h == null) {
-            h = unmodifieableBackingList.hashCode();
-            h=hashCode;
-        }
-        return h;
-    }
-
-    @Override
-    public JsonValue get(int index) {
-        return unmodifieableBackingList.get(index);
-    }
-
-    @Override
-    public int size() {
-        return unmodifieableBackingList.size();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonBuilderFactoryImpl.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonBuilderFactoryImpl.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonBuilderFactoryImpl.java
deleted file mode 100644
index 76b0455..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonBuilderFactoryImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonBuilderFactory;
-import javax.json.JsonObjectBuilder;
-
-class JsonBuilderFactoryImpl implements JsonBuilderFactory {
-    private final Map<String, Object> internalConfig = new HashMap<String, Object>();
-    private static final String[] SUPPORTED_CONFIG_KEYS = new String[] {
-    //nothing yet
-
-    };
-
-    JsonBuilderFactoryImpl(final Map<String, ?> config) {
-        if (config != null) {
-
-            for (final String configKey : SUPPORTED_CONFIG_KEYS) {
-                if (config.containsKey(configKey)) {
-                    internalConfig.put(configKey, config.get(configKey));
-                }
-            }
-        }
-    }
-
-    @Override
-    public JsonObjectBuilder createObjectBuilder() {
-        return new JsonObjectBuilderImpl();
-    }
-
-    @Override
-    public JsonArrayBuilder createArrayBuilder() {
-        return new JsonArrayBuilderImpl();
-    }
-
-    @Override
-    public Map<String, ?> getConfigInUse() {
-        return Collections.unmodifiableMap(internalConfig);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonChars.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonChars.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonChars.java
deleted file mode 100644
index b135886..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonChars.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import javax.json.stream.JsonParser.Event;
-
-public interface JsonChars {
-    char EOF = Character.MIN_VALUE;
-
-    char START_OBJECT_CHAR = '{';
-    char END_OBJECT_CHAR = '}';
-    char START_ARRAY_CHAR = '[';
-    char END_ARRAY_CHAR = ']';
-    char QUOTE_CHAR = '"';
-    char COMMA_CHAR = ',';
-    char KEY_SEPARATOR = ':';
-    
-    char EOL = '\n';
-    char SPACE = ' ';
-    
-    char TRUE_T = 't';
-    char TRUE_R = 'r';
-    char TRUE_U = 'u';
-    char TRUE_E = 'e';
-    char FALSE_F = 'f';
-    char FALSE_A = 'a';
-    char FALSE_L = 'l';
-    char FALSE_S = 's';
-    char FALSE_E = 'e';
-    char NULL_N = 'n';
-    char NULL_U = 'u';
-    char NULL_L = 'l';
- 
-    char ZERO = '0';
-    char NINE = '9';
-    char DOT = '.';
-    char MINUS = '-';
-    char PLUS = '+';
-    char EXP_LOWERCASE = 'e';
-    char EXP_UPPERCASE = 'E';
-    char ESCAPE_CHAR = '\\';
-    
-    char TAB = '\t';
-    char BACKSPACE = '\b';
-    char FORMFEED = '\f';
-    char CR = '\r';
-
-    String NULL = "null".intern();
-    
-    static final byte START_ARRAY = (byte) Event.START_ARRAY.ordinal();
-    static final byte START_OBJECT = (byte) Event.START_OBJECT.ordinal();
-    static final byte KEY_NAME=(byte) Event.KEY_NAME.ordinal();
-    static final byte VALUE_STRING=(byte) Event.VALUE_STRING.ordinal(); 
-    static final byte VALUE_NUMBER=(byte) Event.VALUE_NUMBER.ordinal(); 
-    static final byte VALUE_TRUE=(byte) Event.VALUE_TRUE.ordinal();
-    static final byte VALUE_FALSE=(byte) Event.VALUE_FALSE.ordinal(); 
-    static final byte VALUE_NULL=(byte) Event.VALUE_NULL.ordinal();
-    static final byte END_OBJECT=(byte) Event.END_OBJECT.ordinal();
-    static final byte END_ARRAY=(byte) Event.END_ARRAY.ordinal();
-    
-    static final byte COMMA_EVENT=Byte.MAX_VALUE;
-    static final byte KEY_SEPARATOR_EVENT=Byte.MIN_VALUE;
-    
-    static final Event[] EVT_MAP =Event.values();
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonDoubleImpl.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonDoubleImpl.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonDoubleImpl.java
deleted file mode 100644
index 4ff90f9..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonDoubleImpl.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import javax.json.JsonNumber;
-
-final class JsonDoubleImpl implements JsonNumber {
-    private final double value;
-
-    JsonDoubleImpl(final double value) {
-        
-        if(Double.isInfinite(value) || Double.isNaN(value)) {
-            throw new NumberFormatException("double value must to be NaN or Infinite");
-        }
-        
-        this.value = value;
-    }
-
-    @Override
-    public boolean isIntegral() {
-        return false;
-    }
-
-    @Override
-    public int intValue() {
-        return (int) value;
-    }
-
-    @Override
-    public int intValueExact() {
-        return intValue();
-    }
-
-    @Override
-    public long longValue() {
-        return (long) value;
-    }
-
-    @Override
-    public long longValueExact() {
-        return (long) value;
-    }
-
-    @Override
-    public BigInteger bigIntegerValue() {
-        return new BigDecimal(toString()).toBigInteger();
-    }
-
-    @Override
-    public BigInteger bigIntegerValueExact() {
-        return new BigDecimal(toString()).toBigIntegerExact();
-    }
-
-    @Override
-    public double doubleValue() {
-        return value;
-    }
-
-    @Override
-    public BigDecimal bigDecimalValue() {
-        return new BigDecimal(toString());
-    }
-
-    @Override
-    public ValueType getValueType() {
-        return ValueType.NUMBER;
-    }
-
-    @Override
-    public String toString() {
-        return Double.toString(value);
-    }
-
-    @Override
-    public int hashCode() {
-        return Double.valueOf(value).hashCode();
-    }
-
-    @Override
-    public boolean equals(final Object obj) {
-        return JsonNumber.class.isInstance(obj) && JsonNumber.class.cast(obj).doubleValue() == value;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorFactoryImpl.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorFactoryImpl.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorFactoryImpl.java
deleted file mode 100644
index 573ca70..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorFactoryImpl.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.io.Writer;
-import java.nio.charset.Charset;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.json.stream.JsonGenerator;
-import javax.json.stream.JsonGeneratorFactory;
-
-public class JsonGeneratorFactoryImpl implements JsonGeneratorFactory, Serializable {    
-    public static final String BUFFER_LENGTH = "org.apache.fleece.default-char-buffer-generator";
-    public static final int DEFAULT_BUFFER_LENGTH = Integer.getInteger(BUFFER_LENGTH, 1024); //TODO check default string length/buffer size
-    private final Map<String, Object> internalConfig = new HashMap<String, Object>();
-    private static final String[] SUPPORTED_CONFIG_KEYS = new String[] {
-        
-        JsonGenerator.PRETTY_PRINTING, BUFFER_LENGTH, JsonParserFactoryImpl.BUFFER_STRATEGY 
-        
-    };
-    //key caching currently disabled
-    private final ConcurrentMap<String, String> cache = null;//new ConcurrentHashMap<String, String>();
-    private final boolean pretty;
-    private final BufferStrategy.BufferProvider<char[]> bufferProvider;
-
-    public JsonGeneratorFactoryImpl(final Map<String, ?> config) {
-        
-          if(config != null) {
-          
-              for (String configKey : SUPPORTED_CONFIG_KEYS) {
-                  if(config.containsKey(configKey)) {
-                      internalConfig.put(configKey, config.get(configKey));
-                  }
-              }
-          } 
-
-          if(internalConfig.containsKey(JsonGenerator.PRETTY_PRINTING)) {
-              this.pretty = Boolean.TRUE.equals(internalConfig.get(JsonGenerator.PRETTY_PRINTING)) || "true".equals(internalConfig.get(JsonGenerator.PRETTY_PRINTING));
-          } else {
-              this.pretty = false;
-          }
-          
-          final int bufferSize = getInt(BUFFER_LENGTH);
-          if (bufferSize <= 0) {
-              throw new IllegalArgumentException("buffer length must be greater than zero");
-          }
-
-          this.bufferProvider = getBufferProvider().newCharProvider(bufferSize);
-    }
-    
-    private BufferStrategy getBufferProvider() {
-        final Object name = internalConfig.get(JsonParserFactoryImpl.BUFFER_STRATEGY);
-        if (name != null) {
-            return BufferStrategy.valueOf(name.toString().toUpperCase(Locale.ENGLISH));
-        }
-        return BufferStrategy.QUEUE;
-    }
-
-    private int getInt(final String key) {
-        final Object maxStringSize = internalConfig.get(key);
-        if (maxStringSize == null) {
-            return DEFAULT_BUFFER_LENGTH;
-        } else if (Number.class.isInstance(maxStringSize)) {
-            return Number.class.cast(maxStringSize).intValue();
-        }
-        return Integer.parseInt(maxStringSize.toString());
-    }
-
-    @Override
-    public JsonGenerator createGenerator(final Writer writer) {
-        if (pretty) {
-            return new JsonPrettyGeneratorImpl(writer, bufferProvider, cache);
-        }
-        return new JsonGeneratorImpl(writer, bufferProvider, cache);
-    }
-
-   
-
-    @Override
-    public JsonGenerator createGenerator(final OutputStream out) {
-        if (pretty) {
-            return new JsonPrettyGeneratorImpl(out, bufferProvider, cache);
-        }
-        return new JsonGeneratorImpl(out, bufferProvider, cache);
-    }
-
-    @Override
-    public JsonGenerator createGenerator(final OutputStream out, final Charset charset) {
-        if (pretty) {
-            return new JsonPrettyGeneratorImpl(out,charset, bufferProvider, cache);
-        }
-        return new JsonGeneratorImpl(out,charset, bufferProvider, cache);
-    }
-
-    @Override
-    public Map<String, ?> getConfigInUse() {
-        return Collections.unmodifiableMap(internalConfig);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/6e86a53e/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorImpl.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorImpl.java b/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorImpl.java
deleted file mode 100644
index a1d0a53..0000000
--- a/fleece-core/src/main/java/org/apache/fleece/core/JsonGeneratorImpl.java
+++ /dev/null
@@ -1,870 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.fleece.core;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Serializable;
-import java.io.Writer;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.nio.charset.Charset;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.json.JsonArray;
-import javax.json.JsonException;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
-import javax.json.JsonString;
-import javax.json.JsonStructure;
-import javax.json.JsonValue;
-import javax.json.stream.JsonGenerationException;
-import javax.json.stream.JsonGenerator;
-
-class JsonGeneratorImpl implements JsonGenerator, JsonChars, Serializable {
-    private static final Charset UTF8_CHARSET = Charset.forName("UTF-8");
-
-    private final Writer writer;
-    private final BufferStrategy.BufferProvider<char[]> bufferProvider;
-    private final char[] buffer;
-    private int bufferPos = 0;
-    //private final ConcurrentMap<String, String> cache;
-    protected boolean needComma = false;
-
-    private StructureElement currentStructureElement = null;
-    private boolean valid = false;
-    protected int depth = 0;
-
-    //minimal stack implementation
-    private static final class StructureElement {
-        final StructureElement previous;
-        final boolean isArray;
-
-        StructureElement(final StructureElement previous, final boolean isArray) {
-            super();
-            this.previous = previous;
-            this.isArray = isArray;
-        }
-    }
-
-    JsonGeneratorImpl(final Writer writer, final BufferStrategy.BufferProvider<char[]> bufferProvider,
-            final ConcurrentMap<String, String> cache) {
-        this.writer = writer;
-        //this.cache = cache;
-        this.buffer = bufferProvider.newBuffer();
-        this.bufferProvider = bufferProvider;
-    }
-
-    JsonGeneratorImpl(final OutputStream out, final BufferStrategy.BufferProvider<char[]> bufferProvider,
-            final ConcurrentMap<String, String> cache) {
-        this(new OutputStreamWriter(out, UTF8_CHARSET), bufferProvider, cache);
-    }
-
-    JsonGeneratorImpl(final OutputStream out, final Charset encoding, final BufferStrategy.BufferProvider<char[]> bufferProvider,
-            final ConcurrentMap<String, String> cache) {
-        this(new OutputStreamWriter(out, encoding), bufferProvider, cache);
-    }
-
-    protected void addCommaIfNeeded() {
-        if (needComma) {
-            justWrite(COMMA_CHAR);
-            needComma = false;
-        }
-
-    }
-
-    //caching currently disabled
-    //two problems:
-    // 1) not easy to get the escaped value efficiently wen its streamed and the buffer is full and needs to be flushed
-    // 2) we have to use a kind of bounded threadsafe map to let the cache not grow indefinitely
-    private void writeCachedOrEscape(final String name) {
-      /*  String k = cache.get(name);
-        
-        if (k == null) {
-                
-                justWrite(QUOTE_CHAR);
-                int start = bufferPos;
-                writeEscaped0(name);
-                int end = bufferPos;
-                String escaped= get from buffer
-                ---
-                //FIXME if buffer is flushed this will not work here
-                cache.putIfAbsent(name, escaped);
-                justWrite(QUOTE_CHAR);
-                justWrite(KEY_SEPARATOR);
-        }else*/
-        {
-            justWrite(QUOTE_CHAR);
-            writeEscaped0(name);
-            justWrite(QUOTE_CHAR);
-            justWrite(KEY_SEPARATOR);
-        }
-
-    }
-
-    @Override
-    public JsonGenerator writeStartObject() {
-
-        if (currentStructureElement == null && valid) {
-            throw new JsonGenerationException("Method must not be called more than once in no context");
-        }
-
-        if (currentStructureElement != null && !currentStructureElement.isArray) {
-            throw new JsonGenerationException("Method must not be called within an object context");
-        }
-
-        //push upon the stack
-        if (currentStructureElement == null) {
-            currentStructureElement = new StructureElement(null, false);
-        } else {
-            final StructureElement localStructureElement = new StructureElement(currentStructureElement, false);
-            currentStructureElement = localStructureElement;
-        }
-
-        if (!valid) {
-            valid = true;
-        }
-
-        noCheckWrite(START_OBJECT_CHAR);
-        depth++;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator writeStartObject(final String name) {
-        if (currentStructureElement == null || currentStructureElement.isArray) {
-            throw new JsonGenerationException("Method must not be called within an array context");
-        }
-
-        //push upon the stack
-        if (currentStructureElement == null) {
-            currentStructureElement = new StructureElement(null, false);
-        } else {
-            final StructureElement localStructureElement = new StructureElement(currentStructureElement, false);
-            currentStructureElement = localStructureElement;
-        }
-
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWrite(START_OBJECT_CHAR);
-        depth++;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator writeStartArray() {
-        if (currentStructureElement == null && valid) {
-            throw new JsonGenerationException("Method must not be called more than once in no context");
-        }
-
-        if (currentStructureElement != null && !currentStructureElement.isArray) {
-            throw new JsonGenerationException("Method must not be called within an object context");
-        }
-
-        //push upon the stack
-        if (currentStructureElement == null) {
-            currentStructureElement = new StructureElement(null, true);
-        } else {
-            final StructureElement localStructureElement = new StructureElement(currentStructureElement, true);
-            currentStructureElement = localStructureElement;
-        }
-
-        if (!valid) {
-            valid = true;
-        }
-
-        noCheckWrite(START_ARRAY_CHAR);
-        depth++;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator writeStartArray(final String name) {
-        if (currentStructureElement == null || currentStructureElement.isArray) {
-            throw new JsonGenerationException("Method must not be called within an array context");
-        }
-
-        //push upon the stack
-        if (currentStructureElement == null) {
-            currentStructureElement = new StructureElement(null, true);
-        } else {
-            final StructureElement localStructureElement = new StructureElement(currentStructureElement, true);
-            currentStructureElement = localStructureElement;
-        }
-
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWrite(START_ARRAY_CHAR);
-        depth++;
-        return this;
-    }
-
-    private void writeJsonValue(final String name, final JsonValue value) {
-        if (currentStructureElement != null) {
-            checkObject();
-        }
-        //TODO check null handling
-        switch (value.getValueType()) {
-            case ARRAY:
-                writeStartArray(name);
-                final JsonArray array = JsonArray.class.cast(value);
-                final Iterator<JsonValue> ait = array.iterator();
-                while (ait.hasNext()) {
-                    write(ait.next());
-                }
-                writeEnd();
-
-                break;
-            case OBJECT:
-                writeStartObject(name);
-                final JsonObject object = JsonObject.class.cast(value);
-                final Iterator<Map.Entry<String, JsonValue>> oit = object.entrySet().iterator();
-                while (oit.hasNext()) {
-                    final Map.Entry<String, JsonValue> keyval = oit.next();
-                    write(keyval.getKey(), keyval.getValue());
-                }
-                writeEnd();
-
-                break;
-            case STRING:
-                write(name, JsonString.class.cast(value).getString());
-                break;
-            case NUMBER:
-                //TODO optimize
-                final JsonNumber number = JsonNumber.class.cast(value);
-                if (number.isIntegral()) {
-                    write(name, number.longValueExact());
-                } else {
-                    write(name, number.bigDecimalValue());
-                }
-                break;
-            case TRUE:
-                write(name, true);
-                break;
-            case FALSE:
-                write(name, false);
-                break;
-            case NULL:
-                writeNull(name);
-                break;
-            default:
-                throw new JsonGenerationException("Unknown JsonValue type");
-        }
-    }
-
-    private void writeJsonValue(final JsonValue value) {
-        if (currentStructureElement != null) {
-            checkArray();
-        }
-        //TODO check null handling
-        switch (value.getValueType()) {
-            case ARRAY:
-                writeStartArray();
-                final JsonArray array = JsonArray.class.cast(value);
-                final Iterator<JsonValue> ait = array.iterator();
-                while (ait.hasNext()) {
-                    write(ait.next());
-                }
-                writeEnd();
-
-                break;
-            case OBJECT:
-                writeStartObject();
-                final JsonObject object = JsonObject.class.cast(value);
-                final Iterator<Map.Entry<String, JsonValue>> oit = object.entrySet().iterator();
-                while (oit.hasNext()) {
-                    final Map.Entry<String, JsonValue> keyval = oit.next();
-                    write(keyval.getKey(), keyval.getValue());
-                }
-                writeEnd();
-
-                break;
-            case STRING:
-                write(JsonString.class.cast(value).getString());
-                break;
-            case NUMBER:
-                //TODO optimize
-                final JsonNumber number = JsonNumber.class.cast(value);
-                if (number.isIntegral()) {
-                    write(number.longValueExact());
-                } else {
-                    write(number.bigDecimalValue());
-                }
-                break;
-            case TRUE:
-                write(true);
-                break;
-            case FALSE:
-                write(false);
-                break;
-            case NULL:
-                writeNull();
-                break;
-            default:
-                throw new JsonGenerationException("Unknown JsonValue type");
-        }
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final JsonValue value) {
-        writeJsonValue(name, value);
-        return this;
-    }
-
-
-    @Override
-    public JsonGenerator write(final String name, final String value) {
-        checkObject();
-
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-
-        addCommaIfNeeded();
-        justWrite(QUOTE_CHAR);
-        writeEscaped0(value);
-        justWrite(QUOTE_CHAR);
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final BigInteger value) {
-        checkObject();
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWriteAndForceComma(String.valueOf(value));
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final BigDecimal value) {
-        checkObject();
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWriteAndForceComma(String.valueOf(value));
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final int value) {
-        checkObject();
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        addCommaIfNeeded();
-        writeInt0(value);
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final long value) {
-        checkObject();
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        addCommaIfNeeded();
-        writeLong0(value);
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final double value) {
-        checkObject();
-        checkDoubleRange(value);
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWriteAndForceComma(String.valueOf(value));
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String name, final boolean value) {
-        checkObject();
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWriteAndForceComma(String.valueOf(value));
-        return this;
-    }
-
-    @Override
-    public JsonGenerator writeNull(final String name) {
-        checkObject();
-        addCommaIfNeeded();
-        writeCachedOrEscape(name);
-        noCheckWriteAndForceComma(NULL);
-        return this;
-    }
-
-    @Override
-    public JsonGenerator writeEnd() {
-        if (currentStructureElement == null) {
-            throw new JsonGenerationException("Method must not be called in no context");
-        }
-
-        writeEnd(currentStructureElement.isArray ? END_ARRAY_CHAR : END_OBJECT_CHAR);
-
-        //pop from stack
-        currentStructureElement = currentStructureElement.previous;
-        depth--;
-
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final JsonValue value) {
-        writeJsonValue(value);
-
-        if (JsonStructure.class.isInstance(value)) {
-            valid = true;
-        }
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final String value) {
-        checkArray();
-        addCommaIfNeeded();
-        justWrite(QUOTE_CHAR);
-        writeEscaped0(value);
-        justWrite(QUOTE_CHAR);
-        needComma = true;
-        return this;
-    }
-
-
-    @Override
-    public JsonGenerator write(final BigDecimal value) {
-        checkArray();
-        noCheckWrite(String.valueOf(value));
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final BigInteger value) {
-        checkArray();
-        noCheckWrite(String.valueOf(value));
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final int value) {
-        checkArray();
-        addCommaIfNeeded();
-        writeInt0(value);
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final long value) {
-        checkArray();
-        addCommaIfNeeded();
-        writeLong0(value);
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final double value) {
-        checkArray();
-        checkDoubleRange(value);
-        noCheckWrite(Double.toString(value));
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator write(final boolean value) {
-        checkArray();
-        noCheckWrite(Boolean.toString(value));
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public JsonGenerator writeNull() {
-        checkArray();
-        noCheckWriteAndForceComma(NULL);
-        needComma = true;
-        return this;
-    }
-
-    @Override
-    public void close() {
-
-        try {
-            if (currentStructureElement != null || !valid) {
-
-                throw new JsonGenerationException("Invalid json " + currentStructureElement + " " + valid);
-            }
-        } finally {
-
-            flushBuffer();
-
-            try {
-                writer.close();
-            } catch (final IOException e) {
-                throw new JsonException(e.getMessage(), e);
-            }
-
-            bufferProvider.release(buffer);
-        }
-    }
-
-    @Override
-    public void flush() {
-
-        flushBuffer();
-
-        try {
-            writer.flush();
-        } catch (final IOException e) {
-            throw new JsonException(e.getMessage(), e);
-        }
-    }
-
-    private JsonGenerator noCheckWriteAndForceComma(final String value) {
-        noCheckWrite(value);
-        needComma = true;
-        return this;
-    }
-
-    protected JsonGenerator writeEnd(final char value) {
-        justWrite(value);
-        needComma = true;
-        return this;
-    }
-
-    protected void noCheckWrite(final String value) {
-        addCommaIfNeeded();
-        justWrite(value);
-    }
-
-    protected void noCheckWrite(final char value) {
-        addCommaIfNeeded();
-        justWrite(value);
-    }
-
-    private void flushBuffer() {
-
-        if (bufferPos > 0) {
-
-            try {
-                writer.write(buffer, 0, bufferPos);
-                bufferPos = 0;
-            } catch (final IOException e) {
-                throw new JsonException(e.getMessage(), e);
-            }
-
-        }
-    }
-
-    private void writeEscaped0(final String value) {
-        int len = 0;
-        if (value == null || (len = value.length()) == 0) {
-            return;
-        }
-
-        for (int i = 0; i < value.length(); i++) {
-            char c = value.charAt(i);
-
-            while (c != ESCAPE_CHAR && c != QUOTE_CHAR && c >= SPACE) {
-                
-                //read fast
-                justWrite(c);
-
-                if (i >= len - 1) {
-                    return;
-                }
-
-                i++;
-                c = value.charAt(i);
-            }
-
-            switch (c) {
-                case QUOTE_CHAR:
-                case ESCAPE_CHAR:
-                    justWrite(ESCAPE_CHAR);
-                    justWrite(c);
-                    break;
-                default:
-                    if (c < SPACE) {
-                        switch (c) {
-                            case EOL:
-                                justWrite("\\n");
-                                break;
-                            case '\r':
-                                justWrite("\\r");
-                                break;
-                            case '\t':
-                                justWrite("\\t");
-                                break;
-                            case '\b':
-                                justWrite("\\b");
-                                break;
-                            case '\f':
-                                justWrite("\\f");
-                                break;
-                            default:
-                                justWrite(toUnicode(c));
-                        }
-                    } else if ((c >= '\u0080' && c < '\u00a0') || (c >= '\u2000' && c < '\u2100')) {
-                        justWrite(toUnicode(c));
-                    } else {
-                        justWrite(c);
-                    }
-            }
-        }
-
-    }
-
-    private static final String UNICODE_PREFIX = "\\u";
-    private static final String UNICODE_PREFIX_HELPER = "000";
-
-    private static String toUnicode(final char c) {
-
-        final String hex = UNICODE_PREFIX_HELPER + Integer.toHexString(c);
-        final String s = UNICODE_PREFIX + hex.substring(hex.length() - 4);
-
-        return s;
-    }
-
-    protected void justWrite(final char[] chars) {
-
-        if (bufferPos + chars.length >= buffer.length) {
-
-            int start = 0;
-            int len = buffer.length - bufferPos;
-
-            while (true) {
-                int end = start + len;
-                if (end > chars.length) {
-                    end = chars.length;
-                }
-
-                System.arraycopy(chars, start, buffer, bufferPos, end - start);
-
-                bufferPos += (end - start);
-                start += (len);
-
-                if (start >= chars.length) {
-                    return;
-                }
-
-                if (bufferPos >= buffer.length) {
-                    flushBuffer();
-                    len = buffer.length;
-                }
-
-            }
-
-        } else {
-            //fits completely into the buffer
-            System.arraycopy(chars, 0, buffer, bufferPos, chars.length);
-            bufferPos += chars.length;
-        }
-
-    }
-
-    protected void justWrite(final String value) {
-        final int valueLength = value.length();
-
-        if (bufferPos + valueLength >= buffer.length) {
-
-            int start = 0;
-            int len = buffer.length - bufferPos;
-
-            while (true) {
-                int end = start + len;
-                if (end > valueLength) {
-                    end = valueLength;
-                }
-
-                value.getChars(start, end, buffer, bufferPos);
-
-                bufferPos += (end - start);
-                start += (len);
-
-                if (start >= valueLength) {
-                    return;
-                }
-
-                if (bufferPos >= buffer.length) {
-                    flushBuffer();
-                    len = buffer.length;
-                }
-
-            }
-
-        } else {
-            //fits completely into the buffer
-            value.getChars(0, valueLength, buffer, bufferPos);
-            bufferPos += valueLength;
-        }
-
-    }
-
-    protected void justWrite(final char value) {
-
-        if (bufferPos >= buffer.length) {
-            flushBuffer();
-        }
-
-        buffer[bufferPos++] = value;
-
-    }
-    
-    private void checkObject() {
-        if (currentStructureElement == null || currentStructureElement.isArray) {
-            throw new JsonGenerationException("write(name, param) is only valid in objects");
-        }
-    }
-
-    private void checkArray() {
-        if (currentStructureElement == null || !currentStructureElement.isArray) {
-            throw new JsonGenerationException("write(param) is only valid in arrays");
-        }
-    }
-
-    private static void checkDoubleRange(final double value) {
-        if (Double.isInfinite(value) || Double.isNaN(value)) {
-            throw new NumberFormatException("double can't be infinite or NaN");
-        }
-    }
-    
-    
-    //unopitimized, see below
-    private void writeLong0(final long i) {
-
-        justWrite(String.valueOf(i));
-    }
-
-    //unopitimized, see below
-    private void writeInt0(final int i) {
-
-        justWrite(String.valueOf(i));
-    }
-    
-    //optimized number optimizations
-/*
-    private void writeLong0(final long i) {
-        if (i == Long.MIN_VALUE) {
-            justWrite("-9223372036854775808");
-            return;
-        }
-        final int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
-        final char[] buf = new char[size];
-        getChars(i, size, buf);
-        justWrite(buf);
-    }
-
-    private void writeInt0(final int i) {
-        if (i == Integer.MIN_VALUE) {
-            justWrite("-2147483648");
-            return;
-        }
-        final int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
-        final char[] buf = new char[size];
-        getChars(i, size, buf);
-        justWrite(buf);
-    }
-
-    private final static char[] DIGIT_TENS = { '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1',
-            '1', '1', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '4', '4', '4',
-            '4', '4', '4', '4', '4', '4', '4', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '6', '6', '6', '6', '6', '6', '6', '6',
-            '6', '6', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '9', '9', '9',
-            '9', '9', '9', '9', '9', '9', '9', };
-
-    private final static char[] DIGIT_ONES = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7',
-            '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2',
-            '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7',
-            '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2',
-            '3', '4', '5', '6', '7', '8', '9', };
-
-    private final static char[] DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
-            'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
-
-    // Requires positive x
-    private static int stringSize(final long x) {
-        long p = 10;
-        for (int i = 1; i < 19; i++) {
-            if (x < p) {
-                return i;
-            }
-            p = 10 * p;
-        }
-        return 19;
-    }
-
-    private static void getChars(long i, final int index, final char[] buf) {
-        long q;
-        int r;
-        int charPos = index;
-        char sign = 0;
-
-        if (i < 0) {
-            sign = '-';
-            i = -i;
-        }
-
-        // Get 2 digits/iteration using longs until quotient fits into an int
-        while (i > Integer.MAX_VALUE) {
-            q = i / 100;
-            // really: r = i - (q * 100);
-            r = (int) (i - ((q << 6) + (q << 5) + (q << 2)));
-            i = q;
-            buf[--charPos] = DIGIT_ONES[r];
-            buf[--charPos] = DIGIT_TENS[r];
-        }
-
-        // Get 2 digits/iteration using ints
-        int q2;
-        int i2 = (int) i;
-        while (i2 >= 65536) {
-            q2 = i2 / 100;
-            // really: r = i2 - (q * 100);
-            r = i2 - ((q2 << 6) + (q2 << 5) + (q2 << 2));
-            i2 = q2;
-            buf[--charPos] = DIGIT_ONES[r];
-            buf[--charPos] = DIGIT_TENS[r];
-        }
-
-        // Fall thru to fast mode for smaller numbers
-        // assert(i2 <= 65536, i2);
-        for (;;) {
-            q2 = (i2 * 52429) >>> (16 + 3);
-            r = i2 - ((q2 << 3) + (q2 << 1)); // r = i2-(q2*10) ...
-            buf[--charPos] = DIGITS[r];
-            i2 = q2;
-            if (i2 == 0) {
-                break;
-            }
-        }
-        if (sign != 0) {
-            buf[--charPos] = sign;
-        }
-    }
-*/
-   
-}