ls-annotations
StreamEx
ls-annotations | StreamEx | |
---|---|---|
2 | 2 | |
7 | 2,149 | |
- | - | |
0.0 | 6.4 | |
about 1 year ago | 21 days ago | |
Java | Java | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ls-annotations
-
Jodd – The Unbearable Lightness of Java
I remember the days, when the Spring framework was advertised as a lightweight alternative to Enterprise java beans (ejb); now Spring outgrew the pretence of being lightweight, don't know when that happened. last year i got back to working with java and spring boot, and i was overwhelmed by the prevalence of annotations in the tool.
To cope with all this, i wrote this little project: https://github.com/MoserMichael/ls-annotations
It's a decompiler that is listing all annotations, so it becomes easier to grep a text file in order to detect the dependencies between annotations.
-
Ask HN: What Are You Working On?
https://github.com/MoserMichael/ls-annotations wrote a tool that decompiles jdk byte code files and lists declarations (classes, functions, variables) with annotations only. You can also use it to find all classes/interfaces derived from a given class/inerface - and all the classes/interfaces derived from a given class/interface.
The tool uses the asm library to scan class files and to extract annotations. it can detect annotations with retention policy CLASS and RUNTIME. It can't detect annotations with retention policy SOURCE that are not put into bytecode, for example @Override is one of these.
StreamEx
-
Favorite hidden gem library?
I really like StreamEx. I do not know why people do not use it often, the syntax is just wonderful.
-
Jodd – The Unbearable Lightness of Java
It gets more perverse if you need to flatMap, or transmute components of map types, etc. If you want even more power, take a look at https://github.com/amaembo/streamex. This sort of container manipulation bread and butter for business processing. I use it every day, sometimes with a dozen operations. This (with liberal use of `final` values) makes for some pretty functional-looking code.
I'll grant you the Kotlin or Scala version is slightly more compact. But not fundamentally different, like the Go version.
I (and the pretty much every language designer in the post-Java era) disagree with you about checked exceptions, but that's a whole different thread...
What are some alternatives?
nanohttpd - Tiny, easily embeddable HTTP server in Java.
jOOλ - jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism.
spring-data-relational - Spring Data Relational. Home of Spring Data JDBC and Spring Data R2DBC.
Javaslang - vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.
jodd-json - JSON Java serializer and parser.
derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
protonpack - Stream utilities for Java 8
netty-websocket-broadcast-example - An example WebSocket broadcast server using Netty
underscore-java - java port of Underscore.js
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
Functional Java - Backport of Java 8's lambda expressions to Java 7, 6 and 5