Add option to capture Class<T> type of Context.Key #585
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context.Key now allows you to optionally provide the Class that's contained in the Key. This makes it possible for Context.Key to be adapted to libraries that provide similar typed attributes but require the Class to be available via a getter of the attribute. However, some libraries don't expose Class. To allow smithy-java compatibility with both kinds of libraries, providing a Class when creating a Context.Key is optional.
This allows smithy-java to interop with both kinds of libraries, though it would not be possible to adapt a context key from a library that doesn't expose Class for use with a library that requires Class.
All publicly exposed Context.Keys in smithy-java have been updated to define the Class of the key.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.