I found a library called
Cactoos which they've created based on some object-orientated principles:
No nullNo code in constructorsNo getters and settersNo mutable objectsNo static methods, not even private onesNo instanceof, type casting, or reflectionNo implementation inheritanceNo public methods without @OverrideNo statements in test methods except assertThat
As an example, they sort a file like:
They claim that their code is more object-orientated, but it doesn't seem better than alternatives like Guava to me. What do you think of the design of this? Some of the code they produce does look like they're heading towards a functional programming style so maybe they'd be better embracing that instead.