[ 
https://issues.apache.org/jira/browse/SLING-5086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Seifert resolved SLING-5086.
-----------------------------------
    Resolution: Fixed

Completed: At revision: 1706325  


> sling-mock: Add SlingContext.registerAdapter convenience method
> ---------------------------------------------------------------
>
>                 Key: SLING-5086
>                 URL: https://issues.apache.org/jira/browse/SLING-5086
>             Project: Sling
>          Issue Type: New Feature
>          Components: Testing
>            Reporter: Stefan Seifert
>            Assignee: Stefan Seifert
>              Labels: mocks
>             Fix For: Testing Sling Mock 1.6.0
>
>
> scenario: adapt from an object in your unit test where no existing 
> adapterfactory is available. currently you have to create a AdapterFactory 
> instance and register it with proper OSGi properties in OSGi.
> two convenience methods simplify this by allowing to trim it down to one 
> codeline:
> {code:java}
>     /**
>      * Create a Sling AdapterFactory on the fly which can adapt from 
> <code>adaptableClass</code>
>      * to <code>adapterClass</code> and just returns the given value as 
> result.
>      * @param adaptableClass Class to adapt from
>      * @param adapterClass Class to adapt to
>      * @param adapter Object which is always returned for this adaption.
>      */
>     public <T1, T2> void registerAdapter(final Class<T1> adaptableClass, 
> final Class<T2> adapterClass, final T2 adapter) {
> ...
> {code}
> {code:java}
>     /**
>      * Create a Sling AdapterFactory on the fly which can adapt from 
> <code>adaptableClass</code>
>      * to <code>adapterClass</code> and delegates the adapter mapping to the 
> given <code>adaptHandler</code> function.
>      * @param adaptableClass Class to adapt from
>      * @param adapterClass Class to adapt to
>      * @param adaptHandler Function to handle the adaption
>      */
>     public <T1, T2> void registerAdapter(final Class<T1> adaptableClass, 
> final Class<T2> adapterClass, final Function<T1,T2> adaptHandler) {
> ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to