|
If I had a do-over, I'd rename the current Integrator contract as SessionFactoryServiceRegistryContributor and then create this new contract as Integrator.
But given that Integrator is released and used in the wild, it might be best to simply deprecate it (pointing to SessionFactoryServiceRegistryContributor once thats is added) and naming this new contract Integration. I am open to suggestions for the name; maybe ContributorSet? ContributorProvider? Module? etc.
Whatever the name, the sig would look something like:
public interface Integration {
public List<BootstrapServiceRegistryContributor> getBootstrapServiceRegistryContributors();
public List<TypeContributor> getTypeContributors();
public List<MetadataSourceContributor> getMetadataSourceContributors();
public List<MetadataContributor> getMetadataContributors();
public List<StandardServiceRegistryContributor> getStandardServiceRegistryContributors();
public List<SessionFactoryServiceRegistryContributor> getSessionFactoryServiceRegistryContributors();
...
}
|