diff --git a/README.md b/README.md index c634249..01cd3e9 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Awesome Java](#awesome-java) - [Ancients](#ancients) + - [Bean Mapping](#bean-mapping) - [Build](#build) - [Bytecode Manipulation](#bytecode-manipulation) - [Cluster Management](#cluster-management) @@ -72,6 +73,15 @@ A curated list of awesome Java frameworks, libraries and software. * [JavaServer Faces](https://javaserverfaces.java.net/) - Oracle's open-source implementation of the JSF standard, Mojarra. * [JavaServer Pages](https://jsp.java.net/) - Common templating for websites with custom tag libraries. +## Bean Mapping + +*Frameworks that ease bean mapping.* + +* [Dozer](https://github.com/DozerMapper/dozer/) - Mapper that copies data from one object to another, using annotations, API or XML configuration. +* [MapStruct](https://github.com/mapstruct/mapstruct) - Code generator which simplifies mappings between different bean types, based on a convention over configuration approach. +* [ModelMapper](https://github.com/jhalterman/modelmapper) - ModelMapper is an intelligent object mapping library that automatically maps objects to each other. +* [Orika](https://github.com/orika-mapper) - Orika is a Java Bean mapping framework that recursively copies (among other capabilities) data from one object to another. +* [Selma](https://github.com/xebia-france/selma) - Stupid Simple Statically Linked Mapper. Selma is an Annotation Processor Based bean mapper. ## Build @@ -148,6 +158,7 @@ A curated list of awesome Java frameworks, libraries and software. *Frameworks and libraries that simplify reading/writing CSV data.* +* [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser with a commercial-friendly license. * [uniVocity-parsers](https://github.com/uniVocity/univocity-parsers) - One of the fastest and most feature-complete CSV. Also comes with parsers for TSV and fixed width records. ## Database @@ -174,12 +185,15 @@ A curated list of awesome Java frameworks, libraries and software. * [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. * [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. * [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. +* [Apache Thrift](https://thrift.apache.org/) - Data interchange format that originated at Facebook. +* [Apache Avro](https://avro.apache.org/) - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs. ## Date and Time *Libraries related to handling date and time.* * [Joda-Time](http://www.joda.org/joda-time/) - De facto standard date/time-library before Java 8. +* [ThreeTenBP](https://github.com/ThreeTen/threetenbp) - Port of JSR 310 (java.time package) by the author of Joda-Time. * [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. ## Dependency Injection @@ -228,6 +242,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Apache HBase](http://hbase.apache.org) - Hadoop database for big data. * [Druid](http://druid.io) - Real-time and historical OLAP data store that excel at aggregation and approximation queries. * [Infinispan](http://infinispan.org/) - Highly concurrent key/value datastore used for caching. +* [OpenTSDB](http://opentsdb.net) - Scalable and distributed time series database written on top of Apache HBase. ## Distribution @@ -259,6 +274,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Functional Java](http://www.functionaljava.org) - Implements numerous basic and advanced programming abstractions that assist composition-oriented development. * [Javaslang](http://javaslang.com) - Functional component library that provides persistent data types and functional control structures. * [jOOλ](https://github.com/jOOQ/jOOL) - Extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions. +* [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms. ## Game Development @@ -386,6 +402,7 @@ A curated list of awesome Java frameworks, libraries and software. * [AppDynamics](http://www.appdynamics.com/) - Commercial performance monitor. * [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. +* [jmxtrans](https://github.com/jmxtrans/jmxtrans/) - Tool to connect to multiple JVMs and to query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVMs attributes. Likewise, this tool supports different output writes, including Graphite, Ganglia, StatsD, among others. * [Kamon](http://www.kamon.io/) - Tool for monitoring applications running on the JVM. * [New Relic](http://newrelic.com/) - Commercial performance monitor. * [SPM](http://sematext.com/spm/) - Commercial performance monitor with distributing transaction tracing for JVM apps. @@ -491,6 +508,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Apache Shiro](http://shiro.apache.org/) - Performs authentication, authorization, cryptography and session management. * [Bouncy Castle](https://www.bouncycastle.org/java.html) - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations. * [Cryptomator](http://cryptomator.org/) - Multiplatform transparent client-side encryption of files in the cloud. +* [Google Keyczar](https://github.com/google/keyczar) - Easy to use, yet safe encryption framework with key versioning. * [Keycloak](http://keycloak.jboss.org/) - Integrated SSO and IDM for browser apps and RESTful web services. * [PicketLink](http://picketlink.org/) - Umbrella project for security and identity management. @@ -548,6 +566,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing. * [WireMock](http://wiremock.org/) - Stubbs and mocks web services. * [Moco](https://github.com/dreamhead/moco) - Concise web services for stubbs and mocks, Duke's Choice Award 2013. +* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. ## Utility