Add initial implementation of Trait initializers #27
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.
Description of changes:
Adds a
core
integration with aTraitInitializerInterceptor
that injects trait Initializer definitions into theTraitSection
on Schemas. Trait initializers are defined with theTraitInitializer
interface. Users can use the static implementations provided by that class for simple trait or implement more complex initializers by implementing this interface.Trait initializers are defined as a list on JavaCodegenIntegrations to allow users to add their own custom trait implementations.
Prelude trait initializers will eventually all be supplied by the
core
integration, however the trait initializer list added so far is not exhaustive.Example Generated Classes
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.