Pete,

Regarding interceptors - I think what I have is pretty close to the
interceptor definition, except this should only end up working on a
class/interface (I think?)

Also, why wouldn't we want the annotation to also be a qualifier?

John


On Fri, Dec 21, 2012 at 5:21 AM, Pete Muir <[email protected]> wrote:

>
> On 21 Dec 2012, at 02:21, John D. Ament wrote:
>
> > Hi all,
> >
> > So just to summarize the current proposal:
> >
> > - Create a new annotation @ServiceHandlerBinding (in core/api) which will
> > be placed on on the interface that defines points of the
> > - Create a new annotation @ServiceHandler (in core/api) (I think based on
> > below this isn't needed since we have the interface now).
> > - Create an extension that can generate object proxies that link calls to
> > methods on the - org.apache.deltaspike.core.api....
> >
> > Define the binding type annotation:
> >
> > @ServiceHandlerBinding
> > @Qualifier
> > public @interface QueryHandler {
> > }
>
> I don't think we want @Qualifier here.
>
> >
> > which will define the relationship between the interface/abstract class
> > that will use the service handler and the class that will serve as the
> > invocation handler.
> >
> > For example, we can use @QueryHandler on an interface:
> >
> > @QueryHandler
> > public interface PersonDAO {
> > //...
> > }
> >
> > When the container finds this interface it will identify the appropriate
> > InvocationHandler, based on the following matches:
> >
> > - Implements InvocationHandler
>
> Yes.
>
> > - Is annotated @QueryHandler
>
> Ish, this should follow standard CDI resolution rules, you can copy the
> way interceptor bindings work here.
>
> > - Is annotated @ServiceHandler
>
> Yes
>
> >
> > DeltaSpike will provide a proxied object where all abstract method calls
> > are delegated to the InvocationHandler.  The InvocationHandler will need
> to
> > have logic to handle all methods as defined within the class, as long as
> > that method is invoked through the InvocationHandler.
> >
> > @QueryHandler @ServiceHandler
> > public QueryHandlerInvoker implements InvocationHandler {
> >
> > public Object invoke(Object proxy, Method method, Object[] args) {
> > if(method.getName().startsWith("find..."){
> > //...
> > }
> > return null;
> >
> > }
> > }
> >
> > In addition, the ServiceHandlerBinding can be placed on an abstract
> class.
> > In this case, only abstract methods will be passed to the
> > InvocationHandler.
> >
> > @QueryHandler
> > public abstract interface PersonDAO {
> > public String doSomethingConcrete() {
> > return "concrete";
> > }
> >
> > public abstract Person find(int id);
> > }
> >
> > Only the find method will be wrapped, the method doSomethingConcrete will
> > be invoked directly.  When interacting with an abstract class, the
> > InvocationHandler can call methods on the proxied object.
> >
> > Finally, the app developer will be able to simply inject their
> > interface/abstract class in to their beans to perform work:
> >
> > @Inject @QueryHandler PersonDAO dao;
> >
> > Questions:
> >
> > Should we provide a store (simple key/value map) to keep a history of
> found
> > object types and how they map?
>
> You mean like BeanManager.resolveInterceptors() ? I guess this is useful.
>
> > Should we depend on certain libraries for proxying (e.g. javassist, I
> think
> > both Weld & OWB use this still?)
>
> If you want to just cover interfaces, it's easy, you can use proxying from
> the JDK. Otherwise yes you need to pick a lib.
>
> Weld doesn't use javassist for proxying, but does for other stuff.
>
> > Since we now use the interface InvocationHandler should we rename the
> > binding to be InvocationHandlerBinding?
>
> Yes, this makes sense
>
> >  I also think it's not necessary to
> > have @ServiceHandler since the marker interface now exists.
>
> +1
>
> >
> > Comments welcome..
> >
> > John
> >
> >
> >
> >
> > On Thu, Dec 20, 2012 at 12:33 PM, Jason Porter <[email protected]
> >wrote:
> >
> >> +1 for @ServiceHandler
> >>
> >>
> >> On Thu, Dec 20, 2012 at 9:39 AM, John D. Ament <[email protected]
> >>> wrote:
> >>
> >>> If we're still calling the feature "ServiceHandler" then why not
> >>> @ServiceHandler?
> >>>
> >>>
> >>> On Thu, Dec 20, 2012 at 11:33 AM, Romain Manni-Bucau
> >>> <[email protected]>wrote:
> >>>
> >>>> if we don't need it perfect, if we need it we'll just use another name
> >>>> @DSHandler, @Handler...whatever it is ;)
> >>>>
> >>>> Romain Manni-Bucau
> >>>> Twitter: @rmannibucau
> >>>> Blog: http://rmannibucau.wordpress.com/
> >>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>> Github: https://github.com/rmannibucau
> >>>>
> >>>>
> >>>>
> >>>> 2012/12/20 Pete Muir <[email protected]>:
> >>>>> :-) Yes for sure. I suspect we dont' need @InvocationHandler at all.
> >>>>>
> >>>>> On 20 Dec 2012, at 16:30, John D. Ament wrote:
> >>>>>
> >>>>>> The problem I have is that now InvocationHandler is both an
> >> interface
> >>>> and
> >>>>>> an @interface which will make it impossible for imports.  I don't
> >>> think
> >>>>>> they should have the same name.
> >>>>>>
> >>>>>>
> >>>>>> On Thu, Dec 20, 2012 at 9:57 AM, Pete Muir <[email protected]>
> >> wrote:
> >>>>>>
> >>>>>>>
> >>>>>>> On 20 Dec 2012, at 12:32, John D. Ament wrote:
> >>>>>>>
> >>>>>>>> All,
> >>>>>>>>
> >>>>>>>> So mostly ok from my perspective.  One thing to note:
> >>>>>>>>
> >>>>>>>> @InvocationHandlerBinding
> >>>>>>>> public @interface Repository {}
> >>>>>>>>
> >>>>>>>> @Repository
> >>>>>>>> public interface MyRepository {
> >>>>>>>> ...
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> @Repository @InvocationHandler
> >>>>>>>> public class MyInvocationHandler implements InvocationHandler {
> >>>>>>>> ...
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> Why do we have a @InvocationHandler here? Is it supposed to be
> >>>>>>>> @InvocationHandlerBinding instead?  If so, is it really needed
> >> here?
> >>>>>>>
> >>>>>>> No, it should be @InvocationHandler, it's analagous to
> >> @Interceptor.
> >>>> It's
> >>>>>>> not 100% necessary as we already implement the interface, which is
> >>>> enough
> >>>>>>> of the marker.
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Thinking about the implementation for this, I think this actually
> >>>> becomes
> >>>>>>>> easier to use and easier to understand over the Solder solution.
> >>> The
> >>>>>>>> implementation of the InvocationHandler becomes a true CDI bean.
> >>>>>>>>
> >>>>>>>> Should DS support Interceptors and Decorators on
> >>>>>>>> InvocationHandler beans?
> >>>>>>>>
> >>>>>>>> Do you mean the implementation class or the interface?
> >>>>>>>>
> >>>>>>>> John
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Thu, Dec 20, 2012 at 7:06 AM, Romain Manni-Bucau
> >>>>>>>> <[email protected]>wrote:
> >>>>>>>>
> >>>>>>>>> i'd rather say no because the idea is to ease "util" extension
> >>>>>>>>> writing. that's clearly not intended to be full business beans
> >> IMO
> >>>> (at
> >>>>>>>>> least for a first step)
> >>>>>>>>>
> >>>>>>>>> That's why i'd leave it as this for now
> >>>>>>>>>
> >>>>>>>>> wdyt?
> >>>>>>>>>
> >>>>>>>>> Romain Manni-Bucau
> >>>>>>>>> Twitter: @rmannibucau
> >>>>>>>>> Blog: http://rmannibucau.wordpress.com/
> >>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>>>>>>> Github: https://github.com/rmannibucau
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> 2012/12/20 Arne Limburg <[email protected]>:
> >>>>>>>>>> Mark refers to my call stack.
> >>>>>>>>>>
> >>>>>>>>>> Out of the box this call stack would exist just in OWB, because
> >>> Weld
> >>>>>>>>> would
> >>>>>>>>>> not apply any Interceptors or Decorators...
> >>>>>>>>>>
> >>>>>>>>>> The question is: Should DS support Interceptors and Decorators
> >> on
> >>>>>>>>>> InvocationHandler beans? My answer would be: yes, if our
> >>>> implementation
> >>>>>>>>>> shall be a preview of CDI-110.
> >>>>>>>>>> And that would make things complicated in the implementation...
> >>>>>>>>>>
> >>>>>>>>>> Am 20.12.12 12:11 schrieb "Romain Manni-Bucau" unter
> >>>>>>>>>> <[email protected]>:
> >>>>>>>>>>
> >>>>>>>>>>> is it an issue for servicehandler? i don't think so
> >>>>>>>>>>>
> >>>>>>>>>>> it is often used to get util classes dynamically created, it is
> >>>> rarely
> >>>>>>>>>>> (i never saw it) decorated directly
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> Romain Manni-Bucau
> >>>>>>>>>>> Twitter: @rmannibucau
> >>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
> >>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>>>>>>>>> Github: https://github.com/rmannibucau
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> 2012/12/20 Mark Struberg <[email protected]>:
> >>>>>>>>>>>> we stumbled about this lately. It seems CDI only forces
> >> support
> >>>> for
> >>>>>>>>>>>> interceptors and decorators for CDI-annotated classes, but not
> >>> for
> >>>>>>>>>>>> Bean<T> which get added via extensions nor even producer
> >> methods
> >>>> and
> >>>>>>>>>>>> fields :/
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> Of course OWB does it, but it would be not portable...
> >>>>>>>>>>>>
> >>>>>>>>>>>> LieGrue,
> >>>>>>>>>>>> strub
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> ----- Original Message -----
> >>>>>>>>>>>>> From: Arne Limburg <[email protected]>
> >>>>>>>>>>>>> To: "[email protected]"
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>> Cc:
> >>>>>>>>>>>>> Sent: Thursday, December 20, 2012 10:18 AM
> >>>>>>>>>>>>> Subject: Re: [DISCUSS] [DELTASPIKE-113] Review and Discuss
> >>>>>>>>>>>>> ServiceHandler
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> T wo things about this: First: I don't like from the solder
> >>>>>>> approach,
> >>>>>>>>>>>>> because the interface is annotated instead of the
> >>> implementation.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Second, if we implement this we should conceptually make
> >> clear
> >>>> how
> >>>>>>> it
> >>>>>>>>>>>>> differentiates from Interceptors and Decorators. And
> >>> personally I
> >>>>>>>>> think
> >>>>>>>>>>>>> this would work better with the InvocationHandler approach
> >> than
> >>>> with
> >>>>>>>>> an
> >>>>>>>>>>>>> approach that is very similar to interceptors.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> So +1 for an approach like this:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> @HandlesInvocationsOn(MyInterface.class)
> >>>>>>>>>>>>> public class MyInvocationHandler implements
> >> InvocationHandler {
> >>>>>>>>>>>>> ...
> >>>>>>>>>>>>> }
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Technically we would register a custom Bean for every found
> >>>>>>>>>>>>> InvocationHandler with that annotation and take over the
> >>>>>>>>>>>>> interceptor-bindings from the interfaceŠ
> >>>>>>>>>>>>> So the invocation stack would be clear, too:
> >>>>>>>>>>>>> First Interceptors,
> >>>>>>>>>>>>> Second Decorators,
> >>>>>>>>>>>>> Third InvocationHandler
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Wdyt?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Arne
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Am 20.12.12 01:53 schrieb "Romain Manni-Bucau" unter
> >>>>>>>>>>>>> <[email protected]>:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> +1
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> that's a need, DS targets CDI 1.0 for now so just make this
> >>>> solder
> >>>>>>>>>>>>>> part portable ans it should be fine
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Romain Manni-Bucau
> >>>>>>>>>>>>>> Twitter: @rmannibucau
> >>>>>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
> >>>>>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>>>>>>>>>>>> Github: https://github.com/rmannibucau
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> 2012/12/20 Jason Porter <[email protected]>:
> >>>>>>>>>>>>>>> At this point, I'd say just do it as is in solder.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Wed, Dec 19, 2012 at 5:25 PM, John D. Ament
> >>>>>>>>>>>>>>> <[email protected]>wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Hi All,
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Regarding the two open questions:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> 1) the approach (including the name/s) we agree on will be
> >>>> used
> >>>>>>>>>>>>> also
> >>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>> cdi 1.1 (the only difference is the package)
> >>>>>>>>>>>>>>>> 2) the eg has a different opinion about it ->
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> It looks like the JSR's answer
> >>>>>>>>>>>>>>>> (https://issues.jboss.org/browse/CDI-110 )
> >>>>>>>>>>>>>>>> is still unresolved - I'm not sure if we can get any
> >> further
> >>>>>>>>>>>>> answer at
> >>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>> time.  The last posts on the subject seem to discuss using
> >>>>>>>>>>>>> something
> >>>>>>>>>>>>>>>> along
> >>>>>>>>>>>>>>>> the lines of an invocation handler, which I think would
> >> work
> >>>>>>> well.
> >>>>>>>>>>>>>>>> Since
> >>>>>>>>>>>>>>>> we have some features coming up that are interested in
> >>> having
> >>>>>>>>>>>>> service
> >>>>>>>>>>>>>>>> handlers available, do we
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> 1. Implement as is, or similar to, what is currently in
> >>>> Solder?
> >>>>>>>>>>>>>>>> 2. Push EG on a resolution
> >>>>>>>>>>>>>>>> 3. Do it using invocation handlers.
> >>>>>>>>>>>>>>>> 4. Do it some other way?
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> John
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> On Wed, Apr 4, 2012 at 3:50 PM, Gerhard Petracek <
> >>>>>>>>>>>>>>>> [email protected]
> >>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> hi john,
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> as mentioned before we need the answers to the existing
> >>>>>>>>>>>>> questions.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> 2012/4/4 John D. Ament <[email protected]>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> All,
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> I kind of let this one and the other drop off my radar,
> >> I
> >>>>>>>>>>>>>>>> apologize.
> >>>>>>>>>>>>>>>> it
> >>>>>>>>>>>>>>>>>> looks like where we last left off, Gerhard was still
> >>>>>>>>>>>>> requesting
> >>>>>>>>>>>>>>>>> additional
> >>>>>>>>>>>>>>>>>> comments from everyone.  Any other feedback?
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> John
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> On Mon, Mar 12, 2012 at 1:06 PM, Gerhard Petracek <
> >>>>>>>>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> hi george,
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> thx for the information. i thought there might be at
> >>>>>>>>>>>>> least some
> >>>>>>>>>>>>>>>>>> additional
> >>>>>>>>>>>>>>>>>>> answers/clarifications, since pete asked for them in
> >>>>>>>>>>>>> several
> >>>>>>>>>>>>>>>> comments.
> >>>>>>>>>>>>>>>>>>> -> imo we should continue with them.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> 2012/3/12 George Gastaldi
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Hello Gerhard,
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Yeah, it´s the last state. I know it´s quite
> >>>>>>>>>>>>> old, but I
> >>>>>>>>>>>>>>>> haven´t had
> >>>>>>>>>>>>>>>>>> time
> >>>>>>>>>>>>>>>>>>>> to work on it after that.
> >>>>>>>>>>>>>>>>>>>> Regards,
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> George
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> 2012/3/12 Gerhard Petracek
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> hi george,
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> thx for the link.
> >>>>>>>>>>>>>>>>>>>>> i'm not sure if it is the latest state
> >>>>>>>>>>>>> of your discussion
> >>>>>>>>>>>>>>>> and/or
> >>>>>>>>>>>>>>>>> draft
> >>>>>>>>>>>>>>>>>>>>> (at least it's quite old already).
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> 2012/3/7 George Gastaldi
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Hi !
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> +1 to #1. I also agree that the term
> >>>>>>>>>>>>> "Service Handler" might
> >>>>>>>>>>>>>>>> not
> >>>>>>>>>>>>>>>> be
> >>>>>>>>>>>>>>>>>> so
> >>>>>>>>>>>>>>>>>>>>>> appropriate, so it should be discussed
> >>>>>>>>>>>>> as well.
> >>>>>>>>>>>>>>>>>>>>>> Here is the latest pull request with
> >>>>>>>>>>>>> some comments from Pete
> >>>>>>>>>>>>>>>> yet
> >>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>> be
> >>>>>>>>>>>>>>>>>>>>>> reviewed:
> >>>>>>>>>>>>> https://github.com/jboss/cdi/pull/28
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> 2012/3/7 Pete Muir
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> Agreed :-)
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> George is working on it for CDI
> >>>>>>>>>>>>> 1.1. George, can you share
> >>>>>>>>>>>>>>>> your
> >>>>>>>>>>>>>>>>>>>>>> proposal
> >>>>>>>>>>>>>>>>>>>>>>> so far?
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> On 7 Mar 2012, at 17:05, Gerhard
> >>>>>>>>>>>>> Petracek wrote:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> hi pete,
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> independent of my opinion
> >>>>>>>>>>>>> about the feature (which is
> >>>>>>>>>>>>>>>> still
> >>>>>>>>>>>>>>>>> +0):
> >>>>>>>>>>>>>>>>>>>>>>>> if it should be part of cdi
> >>>>>>>>>>>>> 1.1, we have the following
> >>>>>>>>>>>>>>>> options
> >>>>>>>>>>>>>>>>>> imo:
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> 1) the approach (including
> >>>>>>>>>>>>> the name/s) we agree on will
> >>>>>>>>>>>>>>>> be
> >>>>>>>>>>>>>>>> used
> >>>>>>>>>>>>>>>>>>> also
> >>>>>>>>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>>>>>>>>>> cdi 1.1 (the only difference
> >>>>>>>>>>>>> is the package)
> >>>>>>>>>>>>>>>>>>>>>>>> 2) the eg has a different
> >>>>>>>>>>>>> opinion about it ->
> >>>>>>>>>>>>>>>>>>>>>>>> 2a) the rest of the eg joins
> >>>>>>>>>>>>> this discussion
> >>>>>>>>>>>>>>>>>>>>>>>> 2b) we wait for the final
> >>>>>>>>>>>>> version and just allow the same
> >>>>>>>>>>>>>>>> with
> >>>>>>>>>>>>>>>>>> cdi
> >>>>>>>>>>>>>>>>>>>>>> 1.0
> >>>>>>>>>>>>>>>>>>>>>>>> 3) if the eg doesn't
> >>>>>>>>>>>>> agree on the idea, it should be
> >>>>>>>>>>>>>>>> re-visited
> >>>>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>>>>>>>>>> deltaspike (if we really need
> >>>>>>>>>>>>> it)
> >>>>>>>>>>>>>>>>>>>>>>>> 4) we agree on it independent
> >>>>>>>>>>>>> of the result in cdi 1.1
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> 1-3 is ok for me but -1 for
> >>>>>>>>>>>>> #4
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> 2012/3/7 Pete Muir
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> I'm not sure what you
> >>>>>>>>>>>>> mean by a "super interceptor",
> >>>>>>>>>>>>>>>> but if
> >>>>>>>>>>>>>>>>> you
> >>>>>>>>>>>>>>>>>>>>>> mean it
> >>>>>>>>>>>>>>>>>>>>>>> as
> >>>>>>>>>>>>>>>>>>>>>>>>> in "super man"
> >>>>>>>>>>>>> (something better than an interceptor),
> >>>>>>>>>>>>>>>> then
> >>>>>>>>>>>>>>>> I
> >>>>>>>>>>>>>>>>>>> would
> >>>>>>>>>>>>>>>>>>>>>>>>> disagree, it's
> >>>>>>>>>>>>> actually a specialised form of
> >>>>>>>>>>>>>>>> interceptor.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> The best use case I know
> >>>>>>>>>>>>> of is the one John mentions -
> >>>>>>>>>>>>>>>>> creating
> >>>>>>>>>>>>>>>>>>> type
> >>>>>>>>>>>>>>>>>>>>>>> safe
> >>>>>>>>>>>>>>>>>>>>>>>>> references to queries:
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> @QueryService
> >>>>>>>>>>>>>>>>>>>>>>>>> interface UserQuery {
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> @Query("select u
> >>>>>>>>>>>>> from User u")
> >>>>>>>>>>>>>>>>>>>>>>>>> public List<User>
> >>>>>>>>>>>>> getAllUsers();
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> @Query("select u
> >>>>>>>>>>>>> from User u order by u.name")
> >>>>>>>>>>>>>>>>>>>>>>>>> public List<User>
> >>>>>>>>>>>>> getAllUsersSortedByName();
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> Now, it may be the case
> >>>>>>>>>>>>> that there aren't any other use
> >>>>>>>>>>>>>>>> cases
> >>>>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>>>>>>>>> service
> >>>>>>>>>>>>>>>>>>>>>>>>> handlers, in which case
> >>>>>>>>>>>>> we should perhaps just offer
> >>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>>> particular
> >>>>>>>>>>>>>>>>>>>>>>>>> service handler -
> >>>>>>>>>>>>> references to type safe queries - as I
> >>>>>>>>>>>>>>>> think
> >>>>>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>>>> an
> >>>>>>>>>>>>>>>>>>>>>>>>> extremely powerful idea.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> Note, that at the moment
> >>>>>>>>>>>>> service handlers are scheduled
> >>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>>> CDI
> >>>>>>>>>>>>>>>>>>> 1.1.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> On 7 Mar 2012, at 02:35,
> >>>>>>>>>>>>> Jason Porter wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Somewhat. I
> >>>>>>>>>>>>> wouldn't really think of them as overrides,
> >>>>>>>>>>>>>>>> they,
> >>>>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>>>> me,
> >>>>>>>>>>>>>>>>>>>>>>>>> seem more like items to
> >>>>>>>>>>>>> do in addition to whatever the
> >>>>>>>>>>>>>>>>> original
> >>>>>>>>>>>>>>>>>>> impl
> >>>>>>>>>>>>>>>>>>>>>>> does.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> ServiceHandlers to me
> >>>>>>>>>>>>> seem more like super
> >>>>>>>>>>>>>>>> interceptors.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Sent from my iPhone
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> On Mar 6, 2012, at
> >>>>>>>>>>>>> 19:23, "John D. Ament" <
> >>>>>>>>>>>>>>>>>>> [email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> @jason
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> I think the
> >>>>>>>>>>>>> concepts are very dissimilar.
> >>>>>>>>>>>>>>>> servicehandlers
> >>>>>>>>>>>>>>>>>>> create
> >>>>>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>>>>> implementation.
> >>>>>>>>>>>>> delegates are more like overrides and
> >>>>>>>>>>>>>>>> need
> >>>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>>>> know
> >>>>>>>>>>>>>>>>>>>>>>>>> about
> >>>>>>>>>>>>>>>>>>>>>>>>>>> the method
> >>>>>>>>>>>>> signature.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Mar 6,
> >>>>>>>>>>>>> 2012 at 9:17 PM, Jason Porter <
> >>>>>>>>>>>>>>>>>>>>>> [email protected]
> >>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> I think the
> >>>>>>>>>>>>> idea of ServiceHandlers are good, but,
> >>>>>>>>>>>>>>>> could
> >>>>>>>>>>>>>>>> we
> >>>>>>>>>>>>>>>>>> not
> >>>>>>>>>>>>>>>>>>>>>> do
> >>>>>>>>>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> with
> >>>>>>>>>>>>> delegates?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Sent from my
> >>>>>>>>>>>>> iPhone
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> On Mar 6,
> >>>>>>>>>>>>> 2012, at 19:05, "John D. Ament" <
> >>>>>>>>>>>>>>>>>>>>>> [email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> @mark
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> I
> >>>>>>>>>>>>> don't think it's a hard requirement for it to be
> >>>>>>>>>>>>>>>> on an
> >>>>>>>>>>>>>>>>>>>>>> interface.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> One of
> >>>>>>>>>>>>> the best use-cases we built at my job is
> >>>>>>>>>>>>>>>> using it
> >>>>>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>>>>>>>> calling
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> PL/SQL.
> >>>>>>>>>>>>> The JDBC bindings do work, but not pretty.
> >>>>>>>>>>>>>>>> we
> >>>>>>>>>>>>>>>>> were
> >>>>>>>>>>>>>>>>>>>>>> able to
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> create
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> a fairly
> >>>>>>>>>>>>> clean wrapper API, generic enough for
> >>>>>>>>>>>>>>>> binding
> >>>>>>>>>>>>>>>>>> in/out
> >>>>>>>>>>>>>>>>>>>>>>>>> parameters.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> JOhn
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue,
> >>>>>>>>>>>>> Mar 6, 2012 at 12:58 PM, Mark Struberg <
> >>>>>>>>>>>>>>>>>>>>>> [email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> actually I don't really see a real benefit. I just
> >>>>>>>>>>>>>>>> don't
> >>>>>>>>>>>>>>>>>> yet
> >>>>>>>>>>>>>>>>>>>>>> grok
> >>>>>>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> use
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> case
> >>>>>>>>>>>>> for real world projects.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Why
> >>>>>>>>>>>>> would one intercept an Interface and delegate
> >>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>> calls
> >>>>>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>>>>>>>>>>> method
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> handler?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This
> >>>>>>>>>>>>> could be neat for mocking, but there are
> >>>>>>>>>>>>>>>> better
> >>>>>>>>>>>>>>>>>>>>>> frameworks for
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> that.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> thus
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -0.2
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> LieGrue,
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> strub
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -----
> >>>>>>>>>>>>> Original Message -----
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> From: Gerhard Petracek
> >>>>>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> To: [email protected]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> Cc:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> Sent: Tuesday, March 6, 2012 5:15 PM
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> Subject: Re: [DISCUSS] [DELTASPIKE-113] Review and
> >>>>>>>>>>>>>>>>> Discuss
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> ServiceHandler
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> if you have a lot of shared code, you can extract
> >>>>>>>>>>>>>>>> it
> >>>>>>>>>>>>>>>> in
> >>>>>>>>>>>>>>>>>> 1-n
> >>>>>>>>>>>>>>>>>>>>>>>>> method/s or
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> an
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> abstract class which is still easier than a new
> >>>>>>>>>>>>>>>> concept.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> at least i haven't seen an use-case which really
> >>>>>>>>>>>>>>>> needed
> >>>>>>>>>>>>>>>>>> it.
> >>>>>>>>>>>>>>>>>>>>>> that
> >>>>>>>>>>>>>>>>>>>>>>> was
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> reason for a +0 (which still means that i'm ok
> >>>>>>>>>>>>>>>> with
> >>>>>>>>>>>>>>>>> adding
> >>>>>>>>>>>>>>>>>>>>>> it).
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> 2012/3/6 Pete Muir <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> So, you mean just write a bean with all the
> >>>>>>>>>>>>>>>> boilerplate
> >>>>>>>>>>>>>>>>>>> code
> >>>>>>>>>>>>>>>>>>>>>> in
> >>>>>>>>>>>>>>>>>>>>>>> it?
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> On 6 Mar 2012, at 15:58, Gerhard Petracek
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> hi pete,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> instead of the interface you can just
> >>>>>>>>>>>>> implement
> >>>>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>> bean
> >>>>>>>>>>>>>>>>>>> which
> >>>>>>>>>>>>>>>>>>>>>>> does
> >>>>>>>>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> same.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> 2012/3/6 Pete Muir
> >>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> What CDI mechanism would you use
> >>>>>>>>>>>>> instead?
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> On 5 Mar 2012, at 08:47, Gerhard
> >>>>>>>>>>>>> Petracek
> >>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> +0
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> no -1 because there are
> >>>>>>>>>>>>> use-cases for it.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> no +1 because i would use std.
> >>>>>>>>>>>>> cdi mechanisms
> >>>>>>>>>>>>>>>>> instead.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> 2012/3/4 Gerhard Petracek <
> >>>>>>>>>>>>>>>>> [email protected]
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> hi john,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> the sub-task is perfectly
> >>>>>>>>>>>>> fine.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> regards,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> gerhard
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> 2012/3/4 John D. Ament
> >>>>>>>>>>>>>>>> <[email protected]>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Hi All
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> I wanted to bring up
> >>>>>>>>>>>>> the subject of
> >>>>>>>>>>>>>>>>> ServiceHandler.
> >>>>>>>>>>>>>>>>>> I
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> added 113 as a
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> child
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> of DELTASPIKE-2, looked
> >>>>>>>>>>>>> appropriate but not
> >>>>>>>>>>>>>>>> 100%
> >>>>>>>>>>>>>>>>>> sure
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> (so please let
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> me
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> know if you think
> >>>>>>>>>>>>> it's not appropriate as a
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> child).  ServiceHandler
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> feature in Solder that
> >>>>>>>>>>>>> allows you to define
> >>>>>>>>>>>>>>>> an
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> interceptor that
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> manages
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> generic calls against
> >>>>>>>>>>>>> an injected interface.
> >>>>>>>>>>>>>>>> The
> >>>>>>>>>>>>>>>>>> API
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> is as follows:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> -
> >>>>>>>>>>>>> @ServiceHandlerType(Class<?> clazz) -
> >>>>>>>>>>>>>>>> placed
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> on an annotation that
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> would
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> be placed on the
> >>>>>>>>>>>>> interface.  Indicates what
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> interceptor would be
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> invoked
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> for calls against this
> >>>>>>>>>>>>> interface.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> It's then up to the
> >>>>>>>>>>>>> application
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> developer/framework author to define
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> annotations that go on
> >>>>>>>>>>>>> methods, as well as
> >>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> interceptor itself
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> that
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> will
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> be invoked.  The
> >>>>>>>>>>>>> feature for ServiceHandler
> >>>>>>>>>>>>>>>> would
> >>>>>>>>>>>>>>>>> be
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> to provide the
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> API of
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> the type and then the
> >>>>>>>>>>>>> infrastructure
> >>>>>>>>>>>>>>>> required to
> >>>>>>>>>>>>>>>>>> make
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>> the interceptor
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> be
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> called.  Existing
> >>>>>>>>>>>>> documentation of the
> >>>>>>>>>>>>>>>> feature:
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>
> >>>> http://docs.jboss.org/seam/3/3.1.0.Final/reference/en-US/html/solder-
> >>>>>>>>>>>>>>>> ser
> >>>>>>>>>>>>>>>> vicehandler.html
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> john
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> --
> >>>>>>>>>>>>>>> Jason Porter
> >>>>>>>>>>>>>>> http://lightguard-jp.blogspot.com
> >>>>>>>>>>>>>>> http://twitter.com/lightguardjp
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Software Engineer
> >>>>>>>>>>>>>>> Open Source Advocate
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> PGP key id: 926CCFF5
> >>>>>>>>>>>>>>> PGP key available at: keyserver.net, pgp.mit.edu
> >>>>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >>
> >>
> >> --
> >> Jason Porter
> >> http://lightguard-jp.blogspot.com
> >> http://twitter.com/lightguardjp
> >>
> >> Software Engineer
> >> Open Source Advocate
> >>
> >> PGP key id: 926CCFF5
> >> PGP key available at: keyserver.net, pgp.mit.edu
> >>
>
>

Reply via email to