mug

isclaimer: This is not an official Google product.

Mug (Coverage)

A small Java 8+ string processing and streams library (javadoc), widely used in Google’s internal Java codebase, with 0 deps (Proto, BigQuery, Guava addons are in separate artifacts).

Full Spectrum of String Utilities

Streams

Others

More tools - [`Iteration`](./mug/wiki/Iteration-Explained) - implement lazy stream with recursive code - [`BinarySearch`](/mug/mug-guava/src/main/java/com/google/guava/labs/collect/) - solve LeetCode binary search problems → `BinarySearch.inSortedArrayWithTolerance(doubleArray, 0.0001).find(target)` - [`StructuredConcurrency`](/mug/mug/src/main/java/com/google/mu/util/concurrent/) - simple structured concurrency on virtual threads → `concurrently(() -> fetchArm(), () -> fetchLeg(), (arm, leg) -> makeRobot(arm, leg))` - [`Optionals`](./mug/apidocs/com/google/mu/util/Optionals.html) → `return optionally(obj.hasFoo(), obj::getFoo);`
Installation ##### Maven Add the following to pom.xml: ``` com.google.mug mug 10.2 ``` Add `mug-errorprone` to your annotationProcessorPaths: ``` maven-compiler-plugin com.google.errorprone error_prone_core 2.23.0 com.google.mug mug-errorprone 10.2 ``` SafeSql ([javadoc](https://google.github.io/mug/apidocs/com/google/mu/safesql/package-summary.html)): ``` com.google.mug mug-safesql 10.2 ``` Dot Parse Combinators ([javadoc](https://google.github.io/mug/apidocs/com/google/common/labs/parse/package-summary.html)): ``` com.google.mug dot-parse 10.2 ``` Protobuf utils ([javadoc](https://google.github.io/mug/apidocs/com/google/mu/protobuf/util/package-summary.html)): ``` com.google.mug mug-protobuf 10.2 ``` ##### Gradle Add to build.gradle: ``` implementation 'com.google.mug:mug:10.2' implementation 'com.google.mug:mug-safesql:10.2' implementation 'com.google.mug:dot-parse:10.2' implementation 'com.google.mug:mug-guava:10.2' implementation 'com.google.mug:mug-protobuf:10.2' ```