Skip to content

Conversation

@oschwald
Copy link
Member

  • Drop Java 11 support, require Java 17
  • Convert CtrlData to record
  • Convert CacheKey to record
  • Convert CachedConstructor to record
  • Use pattern matching for instanceof
  • Convert switch statements to expressions
  • Update collections to use modern factory methods
  • Remove whitespace at line ends

- Update Maven compiler plugin to use Java 17
- Update GitHub Actions CI to test Java 17, 21, and 24
- Update README requirements
- Update CHANGELOG for version 4.0.0

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
oschwald and others added 4 commits August 26, 2025 15:19
Converts the CtrlData class to use Java 17 records, reducing boilerplate
and improving memory layout. Updates all getter method calls to use
record accessors.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Converts the CacheKey class to use Java 17 records, reducing boilerplate
and improving memory layout. Updates all getter method calls to use
record accessors and adds proper Javadoc for record parameters.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Converts the internal CachedConstructor class to use Java 17 records,
reducing boilerplate and improving memory layout. Updates all getter
method calls to use record accessors.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Converts instanceof checks to use Java 17 pattern matching where
applicable, eliminating explicit casting and reducing boilerplate.
This makes the code more concise and type-safe.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
oschwald and others added 3 commits August 28, 2025 08:21
Converts the decodeBoolean method switch statement to use Java 17
switch expressions, making the code more concise and eliminating
the need for break statements.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replaces Arrays.asList() with List.of() for creating immutable lists
and updates empty array initialization to use modern syntax. This
improves performance and readability.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replace raw types with properly parameterized generics:
- ConcurrentHashMap<Class, CachedConstructor> → ConcurrentHashMap<Class<?>, CachedConstructor<?>>
- CacheKey → CacheKey<?>
- Map t → Map<String, Object> t

Add type-safe helper method getCachedConstructor() to encapsulate necessary
unchecked cast with clear documentation of safety invariant.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@horgh horgh merged commit b6a29e1 into main Aug 29, 2025
23 checks passed
@horgh horgh deleted the greg/eng-2665 branch August 29, 2025 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants