We supply a number of archetypes to help start the building of custom Hydrator plugins. (See http://docs.cask.co/cdap/3.4.0-SNAPSHOT/en/cdap-apps/hydrator/custom.html)
However, when you run the archetypes, even though you supply an artifactId (such as "URLDataSource"), it isn't used the way our house style does, nor is it used to specify the internal classes of the plugin.
For instance, DataGeneratorSource.java has a main class of "DataGeneratorSource", a class "DataGeneratorConfig", etc., instead of a generic "Source" and "SourceConfig".
This would make comparison with our samples easier, if it was possible to do so.