-
Zero Dependencies
-
Type-safe Operations
-
Extensive Testing
-
Comprehensive Documentation
-
Type-safe property access through
PropertyHolder
-
Jakarta Bean Specification support
-
Reflection utilities with proper access control
First: We love guava and enjoy working with it. While doing so we learned a lot about java and software-engineering. But over the time it became too big and the messy library split up, just saying "listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" gave us the push to move on. We started to find or create something more suitable for our needs. Our first approach was to create a stripped version of guava removing all stuff we do not need. Not being happy with the result we created our own called library "cui-java-tools".
The library builds upon ideas and code from several great open-source projects:
-
Zero Dependencies
-
Extensive Tests and Documentation
-
High Code Quality (Sonar Compliance)
-
Standard Java Integration
-
Focused vs. Comprehensive: cui-java-tools provides essential utilities while Guava offers extensive functionality
-
Integration vs. Implementation: cui-java-tools acts as a facade/decorator on standard Java elements
-
Size: cui-java-tools is about 15 times smaller than Guava
-
Performance: Focuses on maintainable performance rather than micro-optimizations
All public APIs are thoroughly documented following Jakarta standards:
-
Clear method descriptions
-
Proper parameter documentation
-
Exception documentation
-
Since tags for version tracking
-
Code examples where appropriate