A phrase I see a lot here is "as":

session.as( AuditReader.class ).someEnversSpecificMethod()

or

session.as( FullTextSession.class )...


On 04/06/2011 06:26 AM, Adam Warski wrote:
>
> On Apr 6, 2011, at 1:20 PM, Steve Ebersole wrote:
>
>> The phrase 'unwrap' might be a bit misleading there because you may not be 
>> dealing with wrapped objects.  But the idea itself is still solid I believe. 
>>  Think of it more as a multi-directional cast
>
> Right, the idea sounds good; so it would be something like a per-session 
> service? :)
> Envers could use it as well, right now just as search has 
> Search.getFullTextSession, envers has AuditReaderFactory.getFor
> So we could have session.service(AuditReader.class / FullTextSession.class).
>
> Adam
>
>> On Apr 6, 2011 6:15 AM, "Adam Warski"<a...@warski.org>  wrote:
>>>
>>>> FullTextSession ftSession = session.unwrap(FullTextSession.class);
>>>> //the current approach is via some static helper method
>>>> //FullTextSession ftSession = Search.getFullTextSession(session);
>>>>
>>>> That would mean that the integration point between HSearch and Hibernate 
>>>> would have an unwrap method and Hibernate would delegate the unwrap calls 
>>>> to each integrator until a non null object is returned.
>>>>
>>>> It's just a thought, WDYT?
>>>
>>> But while EntityManager wraps a Session object, a Session doesn't wrap a 
>>> FullTextSession, but the other way round, no?
>>>
>>> --
>>> Adam Warski
>>> http://www.warski.org
>>> http://www.softwaremill.eu
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>

-- 
Steve Ebersole <st...@hibernate.org>
http://hibernate.org
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to