├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── benchmark ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── twitter-atom.xml │ ├── java │ └── me │ │ └── tatarka │ │ └── parsnip │ │ └── benchmark │ │ ├── Api.java │ │ ├── MainActivity.java │ │ ├── PerformanceTestRunner.java │ │ ├── ReadingThread.java │ │ ├── Statistics.java │ │ ├── StatisticsTask.java │ │ ├── TestService.java │ │ ├── TweetsReader.java │ │ ├── model │ │ ├── Author.java │ │ ├── Content.java │ │ ├── Tweet.java │ │ └── Tweets.java │ │ └── parsers │ │ ├── DOMTweetsReader.java │ │ ├── ParsnipTweetsReader.java │ │ ├── PullParserTweetsReader.java │ │ ├── SAXTweetsReader.java │ │ └── SimpleXmlReader.java │ └── res │ ├── layout │ └── activity_main.xml │ └── values │ └── themes.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── parsnip-retrofit-converter ├── .gitignore ├── build.gradle ├── publish.gradle └── src │ └── main │ └── java │ └── me │ └── tatarka │ └── parsnip │ ├── ParsnipConverterFactory.java │ ├── ParsnipRequestBodyConverter.java │ └── ParsnipResponseBodyConverter.java ├── parsnip ├── build.gradle ├── publish.gradle └── src │ ├── main │ └── java │ │ └── me │ │ └── tatarka │ │ └── parsnip │ │ ├── AdapterMethodsFactory.java │ │ ├── ClassFactory.java │ │ ├── ClassXmlAdapter.java │ │ ├── StandardTypeConverters.java │ │ ├── TagInfo.java │ │ ├── TagXmlAdapter.java │ │ ├── TypeConverter.java │ │ ├── Types.java │ │ ├── Util.java │ │ ├── Xml.java │ │ ├── XmlAdapter.java │ │ ├── XmlAdapters.java │ │ ├── XmlDataException.java │ │ └── annotations │ │ ├── FromXml.java │ │ ├── Namespace.java │ │ ├── SerializedName.java │ │ ├── Tag.java │ │ ├── Text.java │ │ ├── ToXml.java │ │ └── XmlQualifier.java │ └── test │ ├── kotlin │ └── me │ │ └── tatarka │ │ └── parsnip │ │ ├── ObjectDeserializerSpecs.kt │ │ ├── ObjectSerializerSpecs.kt │ │ ├── classes │ │ ├── CollectionObject.kt │ │ ├── EmptyObject.kt │ │ ├── EnumObject.kt │ │ ├── NamedEnumObject.kt │ │ ├── NamespaceObject.kt │ │ ├── NestedObject.kt │ │ ├── PrimitiveObject.kt │ │ ├── SameNameObject.kt │ │ ├── StringObject.kt │ │ ├── TagObject.kt │ │ └── TextObject.kt │ │ └── samples │ │ └── Rss.kt │ └── resources │ └── samples │ └── rss │ └── wehaveconcerns.xml └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | build/ 3 | local.properties 4 | .gradle/ 5 | .idea/ 6 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | ### 0.1 3 | - Initial Release -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/build.gradle -------------------------------------------------------------------------------- /benchmark/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /benchmark/src/main/assets/twitter-atom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/assets/twitter-atom.xml -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/Api.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/Api.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/MainActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/MainActivity.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/PerformanceTestRunner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/PerformanceTestRunner.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/ReadingThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/ReadingThread.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/Statistics.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/Statistics.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/StatisticsTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/StatisticsTask.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/TestService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/TestService.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/TweetsReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/TweetsReader.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Author.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Author.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Content.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Content.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Tweet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Tweet.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Tweets.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/model/Tweets.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/DOMTweetsReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/DOMTweetsReader.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/ParsnipTweetsReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/ParsnipTweetsReader.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/PullParserTweetsReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/PullParserTweetsReader.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/SAXTweetsReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/SAXTweetsReader.java -------------------------------------------------------------------------------- /benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/SimpleXmlReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/java/me/tatarka/parsnip/benchmark/parsers/SimpleXmlReader.java -------------------------------------------------------------------------------- /benchmark/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /benchmark/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/benchmark/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/gradlew.bat -------------------------------------------------------------------------------- /parsnip-retrofit-converter/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /parsnip-retrofit-converter/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip-retrofit-converter/build.gradle -------------------------------------------------------------------------------- /parsnip-retrofit-converter/publish.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip-retrofit-converter/publish.gradle -------------------------------------------------------------------------------- /parsnip-retrofit-converter/src/main/java/me/tatarka/parsnip/ParsnipConverterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip-retrofit-converter/src/main/java/me/tatarka/parsnip/ParsnipConverterFactory.java -------------------------------------------------------------------------------- /parsnip-retrofit-converter/src/main/java/me/tatarka/parsnip/ParsnipRequestBodyConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip-retrofit-converter/src/main/java/me/tatarka/parsnip/ParsnipRequestBodyConverter.java -------------------------------------------------------------------------------- /parsnip-retrofit-converter/src/main/java/me/tatarka/parsnip/ParsnipResponseBodyConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip-retrofit-converter/src/main/java/me/tatarka/parsnip/ParsnipResponseBodyConverter.java -------------------------------------------------------------------------------- /parsnip/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/build.gradle -------------------------------------------------------------------------------- /parsnip/publish.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/publish.gradle -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/AdapterMethodsFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/AdapterMethodsFactory.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/ClassFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/ClassFactory.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/ClassXmlAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/ClassXmlAdapter.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/StandardTypeConverters.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/StandardTypeConverters.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/TagInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/TagInfo.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/TagXmlAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/TagXmlAdapter.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/TypeConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/TypeConverter.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/Types.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/Types.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/Util.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/Xml.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/Xml.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/XmlAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/XmlAdapter.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/XmlAdapters.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/XmlAdapters.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/XmlDataException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/XmlDataException.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/FromXml.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/FromXml.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/Namespace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/Namespace.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/SerializedName.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/SerializedName.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/Tag.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/Tag.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/Text.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/Text.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/ToXml.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/ToXml.java -------------------------------------------------------------------------------- /parsnip/src/main/java/me/tatarka/parsnip/annotations/XmlQualifier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/main/java/me/tatarka/parsnip/annotations/XmlQualifier.java -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/ObjectDeserializerSpecs.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/ObjectDeserializerSpecs.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/ObjectSerializerSpecs.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/ObjectSerializerSpecs.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/CollectionObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/CollectionObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/EmptyObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/EmptyObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/EnumObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/EnumObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/NamedEnumObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/NamedEnumObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/NamespaceObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/NamespaceObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/NestedObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/NestedObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/PrimitiveObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/PrimitiveObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/SameNameObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/SameNameObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/StringObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/StringObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/TagObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/TagObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/classes/TextObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/classes/TextObject.kt -------------------------------------------------------------------------------- /parsnip/src/test/kotlin/me/tatarka/parsnip/samples/Rss.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/kotlin/me/tatarka/parsnip/samples/Rss.kt -------------------------------------------------------------------------------- /parsnip/src/test/resources/samples/rss/wehaveconcerns.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/parsnip/src/test/resources/samples/rss/wehaveconcerns.xml -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/evant/parsnip/HEAD/settings.gradle --------------------------------------------------------------------------------