ULTRA components for Kotlin Servers and Android
ULTRA is a set of libraries and helpers to enhance your everyday Kotlin coding with more power, stability and enjoyment.
Check out the sub-projects. There you will find details, descriptive test cases and usage examples.
ultra::common
ultra::common - Helper functions and utilities for:
ultra::commonnp - Multiplatform helper functions and utilities for:
- Collections, Lists, Files, Functions
- Hashing (like MD5, SHA256, ...)
- Utility Classes and Interfaces
- Recursive programming
- map recursive objects to plain lists
- find all child objects that match a certain criteria
- map recursive objects to plain lists
- Reflection
- type safe type references
- reification of KType
- random data generation
- LoremIpsum texts
ultra::kontainer
ultra::kontainer - A multi stage dependency injection mechanism
READ MORE || EXAMPLES || TESTS
ultra::logging
ultra::logging - A lean logging framework that integrates with the Kontainer
ultra::meta
ultra::meta - Meta Programming Tools for Kotlin Annotation Processing and code generation
Projects using this:
- ultra::slumber
- ultra::vault
- karango (ArangoDB repositories for ultra::vault)
ultra::mutator
ultra::mutator - Mutate the Immutable!
READ MORE || EXAMPLES || TESTS
Mutator is a kotlin library inspired by immerjs.
It enables you to manipulate deeply nested immutable data structures.
With zero boilerplate code at all and some powerful additional features.
- It gives you a powerful way for mutating deeply nested immutable data structures.
- By doing so, it encourages a 100% immutable data design
- ... and more of functional programming style.
- Therefore you will have far less tricky bugs.
ultra::security
ultra::security - Everyday security features
ultra::slumber
ultra::slumber - Object serialization with nullability awareness
READ MORE || EXAMPLES || TESTS
Slumber is aware of the Null Safety that is built into Kotlin.
Pure Java serialization libraries like Jackson are not.
Kotlin handles the Billion Dollar Mistake very well. And so should your serialization framework! Slumber does it for you.
TODOs:
( ) Slumber ( ) Full java time support
( ) Mutator ( ) support better code generation for nested classes