[hibernate-dev] Evolvement of SPIs

Emmanuel Bernard emmanuel at hibernate.org
Tue Apr 3 05:21:44 EDT 2012


I need to write it down but the sum up is there https://issues.jboss.org/browse/TAG-47 Unfortunately the discussion happened on a non public mailing list.

The problem always happens at the borders. I cannot in good conscience consider ConstraintValidator or FieldBridge contracts for advanced users as I expect most users to implement it several times in his application. If one consider it an SPI, we are more likely to make it evolve than an API which in this case would be a mistake. It also help us make a distinction between what is expected, what is advanced and what is off limit from a customer PoV wrt APIs.

On 3 avr. 2012, at 00:33, Gunnar Morling wrote:

> Hi,
> 
>> What's your definition of an SPI
> 
> I think an SPI is something which the user implements (as you say
> typically advanced users which need to plug-in custom functionality
> into the framework) opposed to an API, which is something which a user
> just uses/invokes.
> 
>> That's the proposal I have pushed to the common guidelines at JBoss.
> 
> Do you have a link to these guidelines?
> 
> I think I like the combined interface/abstract implementation approach.
> 
> --Gunnar
> 
> 
> 2012/4/2 Emmanuel Bernard <emmanuel at hibernate.org>:
>> 
>> On 2 avr. 2012, at 11:44, Hardy Ferentschik wrote:
>> 
>>>> 
>>>> What's your definition of an SPI, in the team we have slightly different ones.
>>>> 
>>>> In Hibernate search an SPI is targeted at frameworks or hyper advanced user who are willing to integrate or enhance Hibernate Search. Otherwise, they are considered APIs - which includes interfaces you might need to implement like FieldBridge. Hibernate ORM has a different semantic where an API is what the application directly code on.
>>> 
>>> The HV interpretation of SPI is the same view as in ORM. Imo It makes for a simpler, easier to understand cut between API and SPI.
>> 
>> You guys think too much of your own comfort and less of the user's ;P
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev





More information about the hibernate-dev mailing list