Common classes for java, independent from other libraries
Go to file
Johannes Frohnmeyer 615ff12c27
fix(serialize-xml): name encoding system for wrapper to support names unusable in XML
2024-04-20 12:33:24 +02:00
buildSrc feat: replace commons-logging with slf4j-based commons-logger and use type-safe dependency DSLs 2024-03-09 12:37:38 +01:00
commons fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-gson feat(serialize): implement data binding 2024-04-12 20:04:15 +02:00
commons-http-client feat(serialize): implement data binding 2024-04-12 20:04:15 +02:00
commons-http-server feat: replace commons-logging with slf4j-based commons-logger and use type-safe dependency DSLs 2024-03-09 12:37:38 +01:00
commons-io feat(serialize): implement data binding 2024-04-12 20:04:15 +02:00
commons-logger fix(logger): catch exception during configuration 2024-03-14 15:36:26 +01:00
commons-manifold feat: replace commons-logging with slf4j-based commons-logger and use type-safe dependency DSLs 2024-03-09 12:37:38 +01:00
commons-serialize fix(serialize-generator): Patch leftovers 2024-04-18 21:42:57 +02:00
commons-serialize-databind fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-serialize-databind-api fix(serialize-generator): A large number of fixes for incorrectly carried over gson stuff 2024-04-18 20:54:36 +02:00
commons-serialize-databind-sql fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-serialize-dsl fix(serialize-generator): Patch related components to use Exception instead of Throwable 2024-04-18 21:04:58 +02:00
commons-serialize-generator fix(serialize-generator): Move example into tests to not pollute modules 2024-04-18 22:04:25 +02:00
commons-serialize-generator-annotations feat(serialize): Initial work on porting gson-compile 2024-04-17 12:56:06 +02:00
commons-serialize-generator-core feat(serialize): Initial work on porting gson-compile 2024-04-17 12:56:06 +02:00
commons-serialize-json style(serialize-json): Make use of switch expressions 2024-04-17 10:44:09 +02:00
commons-serialize-xml fix(serialize-xml): name encoding system for wrapper to support names unusable in XML 2024-04-20 12:33:24 +02:00
commons-unsafe docs(unsafe): Document commons-unsafe 2024-03-09 14:08:27 +01:00
gradle feat(serialize): Initial work on porting gson-compile 2024-04-17 12:56:06 +02:00
muscript chore(muscript): delete old implementation keeping redirects in place for docs 2024-04-07 17:25:47 +02:00
muscript-all feat(muscript): add jar with all modules for use in jfmods 2024-04-14 10:54:31 +02:00
muscript-ast fix(muscript): restore old convenience methods for decompiling 2024-04-07 17:16:26 +02:00
muscript-core feat(muscript): port over DirectPreconditionVisitor implicitly 2024-04-07 15:55:45 +02:00
muscript-data-additional fix(muscript): actually export standard lib 2024-04-07 17:18:03 +02:00
muscript-data-dynamic fix(muscript): disable formatting for intentional exceptions 2024-04-07 17:17:53 +02:00
muscript-gson feat(muscript-gson): rename to muscript-json and port to commons-serialize-json 2024-04-12 21:19:36 +02:00
muscript-json fix(serialize-generator): Patch leftovers 2024-04-18 21:42:57 +02:00
muscript-optimizer feat(muscript): enhance Get to prefer List/Object-specific variants if type can be easily inferred 2024-04-07 16:21:18 +02:00
muscript-parser fix(muscript): handle "this" correctly 2024-04-07 17:18:23 +02:00
muscript-runtime feat(muscript-gson): rename to muscript-json and port to commons-serialize-json 2024-04-12 21:19:36 +02:00
muscript-serialize fix(muscript): correct muscript-serialize module info 2024-04-07 17:16:44 +02:00
.gitignore 0.1.0 2022-04-28 20:52:32 +02:00
.woodpecker.yml feat: update to JDK 21 2024-04-03 17:28:40 +02:00
README.md feat(serialize): Initial work on porting gson-compile 2024-04-17 12:56:06 +02:00
build.gradle.kts feat: update to JDK 21 2024-04-03 17:28:40 +02:00
settings.gradle.kts fix(serialize-generator): Move example into tests to not pollute modules 2024-04-18 22:04:25 +02:00

README.md

JfCommons

Common code for my java projects. Uses my common build scripts.

Modules

  • commons: Common java code without a major theme or external dependencies
  • commons-io: Utility classes for caching, hashing, reading json, opening archives, etc.
  • commons-http-client: A simple http client
  • commons-http-server: A simple http server based on JLHTTP

Serialization

  • commons-serialize: Provides the framework for serialization and deserialization. Describes SerializeWriter, SerializeReader, Transport and related classes.
  • commons-serialize-dsl: Provides a Kotlin DSL for serialization and deserialization wrapping commons-serialize
  • commons-serialize-json: Provides a json implementation for commons-serialize
  • commons-serialize-xml: Provides an xml implementation for commons-serialize
  • commons-serialize-databind: Provides data binding inspired by Gson for commons-serialize
  • commons-serialize-databind-api: Provides a thin API around commons-serialize-databind for use in other libraries that don't want to depend on commons-serialize-databind directly
  • commons-serialize-databind-sql: Provides TypeAdapters for SQL types for commons-serialize-databind (separate module because of the dependency on java.sql)
  • commons-serialize-generator-core: Provides a common core for annotation processors that generate serializers and deserializers. Not directly dependent on commons-serialize, as it is also used in libjf-config.
  • commons-serialize-generator-annotations: Provides the annotations used to configure commons-serialize-generator
  • commons-serialize-generator: Provides an annotation processor for generating serializers and deserializers for commons-serialize

muScript

(muscript is a simple scripting language, see here for more information

  • muscript-all: Non-JPMS module shadowing the parser, serializer, optimizer, runtime, and data modules.
  • muscript-core: Core classes for muscript. Required by all other muscript modules.
  • muscript-ast: Implements the AST for muscript as algebraic data types. Contains no logic.
  • muscript-data-dynamic: Implements the dynamic data model for muscript.
  • muscript-data-additional: Implements additional data types for muscript, including the standard library.
  • muscript-parser: Implements the parser for muscript. Originally based on StarScript, it also provides conversion from code targeting that.
  • muscript-serialize: Implements a Decompiler for muscript. It is called this because it can be used to serialize Dynamic data.
  • muscript-optimizer: Implements a simple optimizer for muscript. Entirely optional.
  • muscript-runtime: Implements a runtime for muscript, based on muscript-data-dynamic for runtime data representation but with optimizations for typed expressions.
  • muscript-json: Glue code for manipulating json with muscript

Interop

  • commons-logger: A simple logging framework for System.Logger supporting hot reloading and slightly improved APIs
  • commons-manifold: Some common code using the features of manifold-ext. Mainly extension classes.
  • commons-gson: Provides some utility classes around my fork of gson and an implementation of the Serializer interface
  • commons-unsafe: Provides wrappers around sun.misc.Unsafe and the LambdaMetaFactory