Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8320930

Deprecate for removal the package java.beans.beancontext

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P4 P4
    • 23
    • client-libs
    • None
    • source
    • medium
    • Hide
      public code corpus should be searched prior to removal in order to determine impact.

      The risk would be "high" for the actual removal in some TBD future release, but just adding the warning annotation should only affect source code compilation policies that require no warnings.
      Show
      public code corpus should be searched prior to removal in order to determine impact. The risk would be "high" for the actual removal in some TBD future release, but just adding the warning annotation should only affect source code compilation policies that require no warnings.
    • Java API
    • SE

      Summary

      The beancontext.* package was added (by lcable) in 1.2 to provide a "container" for JavaBeans(tm) to interact.

      These APIs were motivated by some of the concepts found in "OpenDoc" which was a popular component model at the time.

      These APIs predated by several years the concept of "dependency injection" and "Inversion of Control" that were subsequently popularized by frameworks such as Spring(tm) and Guice(tm) etc.

      With the invention of DI/IoC and JSR 330 DI annotations, these APIs have long been superseded and arguably are now an anti-pattern that should no longer be part of the JDK.

      the package java.beans.beancontext.* should be deprecated and marked for removal in a later release.

      Problem

      The APIs are obsolete, and are an anti-pattern at this point given Di/IoC and JSR330 presence.

      Solution

      Mark java.beans.beancontext.* as @Deprecated for removal in a later release

      Specification

      mark as @Deprecated:

      • BeanContext
      • BeanContextChild
      • BeanContextChildComponentProxy
      • BeanContextContainerProxy
      • BeanContextMembershipListener
      • BeanContextProxy
      • BeanContextServiceProvider
      • BeanContextServiceProviderBeanInfo
      • BeanContextServiceRevokedListener
      • BeanContextServices
      • BeanContextServicesListener

      • BeanContextChildSupport

      • BeanContextEvent
      • BeanContextMembershipEvent
      • BeanContextServiceAvailableEvent
      • BeanContextServiceRevokedEvent
      • BeanContextServiceSupport
      • BeanContextServicesSupport.BCSSServiceProvider
      • BeanContextSupport
      • BeanContextSupport.BCSIterator

            lcable Larry Cable
            prr Philip Race
            Philip Race
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: