I just saw this QDox

http://qdox.sourceforge.net/index.html

It could really help us to read the data from the source files. It seems
that there is even a small AOP framework built on it (Nanning).  Guys it
is time to really commoditize this. 

The funny thing is that we don't even compete with the commercial
vendors on this, we run miiiiiles ahead.  IT was there the whole time
and we had been generalizing it the whole time.  I love EJB's. Anyway,
we need to kill all these little efforts and like a magnet bring all the
effort and focus on our own framework for this implementation.  

THIS IS IT.   WE ARE DONE.  JB5 will be services coupled with
interceptors in one easy to use and assemble framework. 

marcf

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]] On 
> Behalf Of Hiram Chirino
> Sent: Thursday, December 26, 2002 10:59 PM
> To: [EMAIL PROTECTED]
> Cc: Bob Lee; Jboss-Group@Jboss. Org
> Subject: RE: [JBoss-dev] new direction for JBoss AOP
> 
> 
> wow... This will take AOP to the next level (interceptors on 
> fields and and constructors? WOW.).  I'll checkout your stuff tonight.
> 
> Regards,
> Hiram
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On 
> Behalf Of Bill Burke
> Sent: Tuesday, November 26, 2002 3:39 PM
> To: Jboss-Dev
> Cc: Bob Lee; Jboss-Group@Jboss. Org
> Subject: [JBoss-dev] new direction for JBoss AOP
> 
> 
> Code is under jboss-head/aop
> 
> It compiles but that's about it.  Its incomplete.
> 
> The new direction is shown in the below xml if you can follow 
> along.  Don't have much time for explanation before 
> Thanksgiving, but the idea is POJOs and DynamicProxies 
> married into one framework.  Field access, Constructors and 
> methods interceptable on POJOs.  More funtionality can be 
> inferred if you read the following XML.
> 
> <!-- Interceptor definition.  This is just a template
>      "name" is the string reference to the interceptor
>      "classname" is its classname
>      "scope" defines how the interceptor is instantiated
>              instance - one interceptor instance per object instance
>              class - one instance per class
>              global - one instance for entire VM
> 
>      config - defines any arbitrary xml to pass to component 
> for initialization
> -->
> <interceptor name="service1" classname="" 
> scope="instance,class,global">
>   <config/>
> </interceptor-service>
> 
> 
> <!-- Extensions are classes that can be attached to an object 
> to provide
>      extended APIs.
> 
>      "name" is the string reference to the extention
>      "classname" is its classname
>      "scope" defines how the extension is instantiated
>              instance - one extension instance per object instance
>              class - one instance per class
>              global - one instance for entire VM
> 
>      interfaces - are a list of interfaces to extend the 
> aspected object.
>                   Any methods invoked on the aspect that 
> pertain to these
>                 interfaces will be delegated directly to the 
> extension class
>      config - defines any arbitrary xml to pass to component 
> for initialization
> 
> 
>      i.e.
>      Class MyClass {}
> 
>      interface api { void doSometing(); }
> 
>      Class MyExtension implements api { public void 
> doSomething(){ ... } }
> 
> 
>      You could do in code
>      {
>         MyClass instance = new MyClass();
>       api a = (api)instance;
>         a.doSomething();
>      }
>      Even though MyClass doesn't implement the api interface, 
> or has the code for it
>      you can cast and invoke on it anyways.  This is the extension.
> -->
> <extension name"extension1" classname="" 
> scope="instance,class,global">
>   <interfaces/>
>   <config/>
> </extension>
> 
> <!-- chain of interceptor definition -->
> <stack name="stack1">
>   <interceptor-ref name="service1"/>
>   <interceptor name="int1" classname="">
>     <config/>
>   </interceptor>
> </stack>
> 
> <!-- interceptor pointcut defines what classes, 
> methods,fields must be intercepted
>      and by what -->
> <interceptor-pointcut name="" class=".*pattern*">
>   <method-pointcut expr="*set*/>
>   <!-- Don't intercept method defined in these interfaces -->
>   <method-pointcut>
>     <excluded-interfaces/>
>   </method-pointcut>
> 
>   <!-- Intercept methods defined in all these interfaces -->
>   <method-pointcut>
>     <included-interfaces/>
>   </method-pointcut>
> 
>   <field-pointcut expr="*variable*"/>
>   <field-pointcut expr="{PUBLIC,PRIVATE,PROTECTED}"/>
> 
>   <interceptors>
>     <stack-ref name="stack1"/>
>     <interceptor-ref name="">
>        <config/>
>     </interceptor-ref>
>   <interceptors/>
> </interceptor-pointcut>
> 
> <!-- Extension pointcut defines what classes should be 
> extended --> <extension-pointcut name="" class=".*">
>   <extensions>
>     <extension-ref name="extension1"/>
>     <extension/>
>   </extensions>
> </extension-pointcut>
> 
> <!--
>    A proxy is a template for creating Dynamic Proxies.
> 
> -->
> <proxy name="">
>   <interfaces/>
>   <interceptor-pointcuts/>
>   <extensions/>
> </proxy>
> 
> <!--
>     Add a pointcut to created proxy
> -->
> <interceptor-pointcut name="" proxy="">
>   <method-pointcut>
>     <included-interfaces/>
>   </method-pointcut>
>   <interceptors>
>     <stack-ref name="stack1"/>
>     <interceptor-ref name="">
>        <config/>
>     </interceptor-ref>
>   <interceptors/>
> </interceptor-pointcut>
> 
> 
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Get the new Palm Tungsten 
> T handheld. Power & Color in a compact size! 
> http://ads.sourceforge.net/cgi-> bin/redirect.pl?palm0002en
> 
> 
> _______________________________________________
> Jboss-development mailing list [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: Get the new Palm Tungsten T 
> handheld. Power & Color in a compact size! 
> http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
> _______________________________________________
> Jboss-development mailing list [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 



-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T 
handheld. Power & Color in a compact size! 
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to