<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Introducing HyperBeans – multi-dimensional POJOs</title>
	<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/</link>
	<description>Down To The Bone</description>
	<pubDate>Fri, 29 Aug 2008 09:29:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>

	<item>
		<title>by: Bill Burke</title>
		<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3450</link>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3450</guid>
					<description>&lt;p&gt;Jonas,&lt;/p&gt;

&lt;p&gt;What does it mean to do per instance?  Is the HyperBean only applied to the instance you pass into the constructor?  So, you can apply advices only to one particular object instances and &lt;em&gt;not&lt;/em&gt; to other instances of the same type?  If so, very clean man.  &lt;/p&gt;

&lt;p&gt;Bill&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jonas,</p>

<p>What does it mean to do per instance?  Is the HyperBean only applied to the instance you pass into the constructor?  So, you can apply advices only to one particular object instances and <em>not</em> to other instances of the same type?  If so, very clean man.  </p>

<p>Bill</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Rémi Forax</title>
		<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3451</link>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3451</guid>
					<description>&lt;p&gt;I love the way you do deployement, the fact that you don't need another language to write advices and how you request injection of context informations to advice (@Callee).&lt;/p&gt;

&lt;p&gt;Three remarks :
  - just before the section about advice, in the example, you don't need to use a variable result. return in try/cath block is permitted :)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;why don't you have an annotation for InvocationContext.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;why don't you implement HyperBean using java.lang.instrumentation instead of using AOP support in JRockit ?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rémi&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I love the way you do deployement, the fact that you don&#8217;t need another language to write advices and how you request injection of context informations to advice (@Callee).</p>

<p>Three remarks :
  - just before the section about advice, in the example, you don&#8217;t need to use a variable result. return in try/cath block is permitted <img src='http://jonasboner.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<ul>
<li><p>why don&#8217;t you have an annotation for InvocationContext.</p></li>
<li><p>why don&#8217;t you implement HyperBean using java.lang.instrumentation instead of using AOP support in JRockit ?</p></li>
</ul>

<p>Rémi</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jonas Bonér</title>
		<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3452</link>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3452</guid>
					<description>&lt;p&gt;Bill,&lt;/p&gt;

&lt;p&gt;All the deployments binds the HyperBean to the scope instance only. So for the per instance case you are correct. It binds the aspect to the sole instance that you pass in the ctor (annotated with @Scope).&lt;/p&gt;

&lt;p&gt;Thanks a lot.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Bill,</p>

<p>All the deployments binds the HyperBean to the scope instance only. So for the per instance case you are correct. It binds the aspect to the sole instance that you pass in the ctor (annotated with @Scope).</p>

<p>Thanks a lot.</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jonas Bonér</title>
		<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3453</link>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3453</guid>
					<description>&lt;p&gt;Rémi, &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Thanks for the remark, should have seen that myself :)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I do not see the point, all other annotations are used to pass in arbitrary types. But the InvocationContext will always be (has to be) of the same type - InvocationContext. Do I misunderstand you? What would be the usage? &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simply because it is so much simpler (and more performant) using the JRockit API. I guess it would be possible to implement using JVMTI/HotSwap and plain old bytecode instrumentation. It would be cool if someone volunteered/helped out to do that (would be necessary in order to get it widely used in the short term). If anyone is interested, please let me know. :P&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for the feedback.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Rémi, </p>

<ol>
<li><p>Thanks for the remark, should have seen that myself <img src='http://jonasboner.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></li>
<li><p>I do not see the point, all other annotations are used to pass in arbitrary types. But the InvocationContext will always be (has to be) of the same type - InvocationContext. Do I misunderstand you? What would be the usage? </p></li>
<li><p>Simply because it is so much simpler (and more performant) using the JRockit API. I guess it would be possible to implement using JVMTI/HotSwap and plain old bytecode instrumentation. It would be cool if someone volunteered/helped out to do that (would be necessary in order to get it widely used in the short term). If anyone is interested, please let me know. <img src='http://jonasboner.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p></li>
</ol>

<p>Thanks for the feedback.</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Dean Wampler</title>
		<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3454</link>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3454</guid>
					<description>&lt;p&gt;Jonas,
Very elegant! One question; is there a facility or plans for one that decouples pointcut definitions, as currently shown in the @Before, @After, and @Around annotations, from the source code. For example, using an XML config. file, as in AspectWerkz? That would make it easier to write reusable aspects. 
Okay, another question, again pertaining to reusability; have you given much thought to possible design patterns for defining base aspects (abstract or not) and subtyping them for specific cases, as is commonly done in AspectJ?
Thanks and keep up the good work! ;)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jonas,
Very elegant! One question; is there a facility or plans for one that decouples pointcut definitions, as currently shown in the @Before, @After, and @Around annotations, from the source code. For example, using an XML config. file, as in AspectWerkz? That would make it easier to write reusable aspects. 
Okay, another question, again pertaining to reusability; have you given much thought to possible design patterns for defining base aspects (abstract or not) and subtyping them for specific cases, as is commonly done in AspectJ?
Thanks and keep up the good work! <img src='http://jonasboner.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jonas Bonér</title>
		<link>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3455</link>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid>http://jonasboner.com/2005/10/25/introducing-hyperbeans-%e2%80%93-multi-dimensional-pojos/#comment-3455</guid>
					<description>&lt;p&gt;Thanks a lot Dean.&lt;/p&gt;

&lt;p&gt;Decoupling of advice-pointcut is indeed necessary. I  think it could be done the same way as in the @AspectJ 5 (and AW) syntax.&lt;/p&gt;

&lt;p&gt;Might be good to still support XML. I do not think that the general aop.xml file should be supported since this is an attempt to move away from the deployment descriptor and put it into the code itself, give the developer programmatic control over deployment and undeployment. But annotation over-riding might be neat to have, similar to what is proposed in EJB 3.&lt;/p&gt;

&lt;p&gt;Given that we have standalone PC definitions, I think that subclassing of abstract hyperbeans should work the same as with aspects in the AW/@AspectJ syntax. I have not given it much thought though. Design patterns is something that has to be worked out over time.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks a lot Dean.</p>

<p>Decoupling of advice-pointcut is indeed necessary. I  think it could be done the same way as in the @AspectJ 5 (and AW) syntax.</p>

<p>Might be good to still support XML. I do not think that the general aop.xml file should be supported since this is an attempt to move away from the deployment descriptor and put it into the code itself, give the developer programmatic control over deployment and undeployment. But annotation over-riding might be neat to have, similar to what is proposed in EJB 3.</p>

<p>Given that we have standalone PC definitions, I think that subclassing of abstract hyperbeans should work the same as with aspects in the AW/@AspectJ syntax. I have not given it much thought though. Design patterns is something that has to be worked out over time.</p>
]]></content:encoded>
				</item>
</channel>
</rss>
