This large change cleans up a lot of the annotation processing code, making a lot of it more reusable. It means all of the common fields for a Remixer Item are initialized by MethodAnnotation instead of being initialized all over the place. It improves readability and maintainability of this component, and lets us more easily adapt to changes in the API.
In order to do this I had to add a builder for Trigger that lacked one and make all builders inherit from a RemixerItem.Builder class.
This large change cleans up a lot of the annotation processing code, making a lot of it more reusable. It means all of the common fields for a Remixer Item are initialized by
MethodAnnotation
instead of being initialized all over the place. It improves readability and maintainability of this component, and lets us more easily adapt to changes in the API.In order to do this I had to add a builder for Trigger that lacked one and make all builders inherit from a
RemixerItem.Builder
class.