[webbeans-dev] Re: Packages proposal

Gavin King gavin at hibernate.org
Tue Jan 20 01:33:43 EST 2009


In conjunction with this proposal, I would like to propose that we
have a "special" XML namespace, which instead of mapping to a single
package, maps to several packages. This is an ease of use feature for
commonly used types.

The namespace "urn:java:javax" is a shortcut that may be used to refer
to types in any of the following packages (as long as there is no
ambiguity):

   javax.annotation
   javax.interceptor
   javax.decorator
   javax.context
   javax.inject
   javax.stereotype
   javax.event
   javax.ejb
   javax.xml.ws
   javax.persistence

Potentially even:

   javax.jms
   javax.sql
   javax.annotation.security
  JAX-RS


On Tue, Jan 20, 2009 at 5:18 PM, Gavin King <gavin at hibernate.org> wrote:
> Here's a proposal for API repackaging:
>
> javax.annotation: (existing package)
> @NonBinding
>
> javax.interceptor: (existing package)
> @Interceptor
> @InterceptorBindingType
>
> javax.decorator: (decorators)
> @Decorator
> @Decorates
>
> javax.stereotype: (stereotypes)
> @Stereotype
> @Model
>
> javax.context: (scopes and contexts)
> @ScopeType
> @ApplicationScoped
> @RequestScoped
> @SessionScoped
> @ConversationScoped
> Context
> Contextual
> ContextNotActiveException
> Conversation
>
> javax.inject: (injection, binding types, deployment types)
> @BindingType
> @DeploymentType
> @Named
> @Initializer
> @New
> @Specializes
> @Realizes
> @Current
> @Production
> @Standard
> @Produces
> @Disposes
> @Obtains
> Instance
> DefinitionException
> DeploymentException
> ExecutionException
> IllegalProductException
> CreationException
> AmbiguousDependencyException
> DuplicateBindingTypeException
> InconsistentSpecializationException
> NullableDependencyException
> UnproxyableDependencyException
> UnsatisfiedDependencyException
> UnserializableDependencyException
> TypeLiteral
> AnnotationLiteral
>
> javax.inject.manager: (framework integration SPI)
> @Initialized
> @Deployed
> Bean
> InjectionPoint
> Decorator
> Interceptor
> InterceptionType
> Manager
>
> javax.event: (events)
> @Observes
> @Asynchronously
> @IfExists
> @AfterTransactionCompletion
> @AfterTransactionFailure
> @AfterTransactionSuccess
> @BeforeTransactionCompletion
> @Fires
> Event
> Observer
> ObserverException
>
>
> The types I'm most uncomfortable with are TypeLiteral and
> AnnotationLiteral, which aren't really specific to injection. I wonder
> if there's some other place they could go....?
>
> Arguably @Named belongs somewhere else....
>
> And there's a piece of me which wants to put @Realizes and
> @Specializes in javax.stereotype, for some reason which I can't quite
> put my finger on....
>
> Thoughts?
>
> --
> Gavin King
> gavin.king at gmail.com
> http://in.relation.to/Bloggers/Gavin
> http://hibernate.org
> http://seamframework.org
>



-- 
Gavin King
gavin.king at gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org



More information about the weld-dev mailing list