Stefan Seifert created SLING-5086:
-------------------------------------

             Summary: 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
             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