You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Thomas Diesler (JIRA)" <ji...@apache.org> on 2009/10/26 09:03:59 UTC

[jira] Updated: (FELIX-1804) Consider adding an Interceptor API

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

Thomas Diesler updated FELIX-1804:
----------------------------------

    Description: 
Please consider adding a bundle state change interceptor API. For more background on this, please have a look at

http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html 

A possible API could look like this

    void setBundleStateAndNotify(BundleImpl bundle, int state)
    {
        synchronized (m_bundleLock)
        {
           if (interceptor != null)
              interceptor.processStateChange(bundle, state);

            bundle.__setState(state);
            m_bundleLock.notifyAll();
        }
    }

    interface BundleStateInterceptor()
    {
       void processStateChange(Bundle bundle, int state);   
    }


  was:
Please consider adding a bundle state change interceptor API. For more background on this, please have a look at

http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html 

A possible API could look like this

{code:java}
    void setBundleStateAndNotify(BundleImpl bundle, int state)
    {
        synchronized (m_bundleLock)
        {
           if (interceptor != null)
              interceptor.processStateChange(bundle, state);

            bundle.__setState(state);
            m_bundleLock.notifyAll();
        }
    }
{code}

{code:java}
    interface BundleStateInterceptor()
    {
       void processStateChange(Bundle bundle, int state);   
    }
{code}


> Consider adding an Interceptor API
> ----------------------------------
>
>                 Key: FELIX-1804
>                 URL: https://issues.apache.org/jira/browse/FELIX-1804
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-2.0.1
>            Reporter: Thomas Diesler
>
> Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
> http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html 
> A possible API could look like this
>     void setBundleStateAndNotify(BundleImpl bundle, int state)
>     {
>         synchronized (m_bundleLock)
>         {
>            if (interceptor != null)
>               interceptor.processStateChange(bundle, state);
>             bundle.__setState(state);
>             m_bundleLock.notifyAll();
>         }
>     }
>     interface BundleStateInterceptor()
>     {
>        void processStateChange(Bundle bundle, int state);   
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.