As life goes, I just learned that there will be a common super interface of java.lang.reflect.Method and Constructor in JDK 8, called ... Executable :) [1]. In that light ExecutableDescriptor seems like the best option to me.<div>
<br></div><div>--Gunnar<br><div><br></div><div>[1] <a href="http://download.java.net/jdk8/docs/api/index.html?java/lang/reflect/Executable.html">http://download.java.net/jdk8/docs/api/index.html?java/lang/reflect/Executable.html</a></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/12 Matt Benson <span dir="ltr">&lt;<a href="mailto:mbenson@apache.org" target="_blank">mbenson@apache.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Mon, Nov 12, 2012 at 3:11 AM, Gunnar Morling <span dir="ltr">&lt;<a href="mailto:gunnar@hibernate.org" target="_blank">gunnar@hibernate.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br><div class="gmail_extra"><div class="gmail_quote"><div>2012/11/10 Matt Benson <span dir="ltr">&lt;<a href="mailto:mbenson@apache.org" target="_blank">mbenson@apache.org</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><div>You mean that method that was already there in 1.0?  :P  Yes, that&#39;s what I was looking for.  Thanks!<br></div></div></blockquote><div><br></div></div><div>:)</div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<div><div><br>As
 for the naming question, I was recently working with Javassist, which 
describes the abstraction of &quot;method or constructor&quot; as &quot;behavior,&quot; 
which I like.  What about that?</div></div></blockquote><div><br></div></div><div>Personally, I find &quot;behavior&quot; not really appealing, but it&#39;s a good idea to look what other libraries use. Based on a short search some more proposals:</div>


<div><br></div><div>BehaviorDescriptor<br></div><div>ExecutableDescriptor</div><div>CodeDescriptor</div><div>InvocableDescriptor</div><div>InvocableObjectDescriptor</div><div>MethodOrConstructorDescriptor</div><div><br></div>

</div></div></blockquote></div><div>Add &quot;MemberDescriptor&quot; from java.lang.reflect.Member, implemented by Method/Constructor (as well as Field :/ ).<br><br></div><div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div class="gmail_extra"><div class="gmail_quote"><div></div>
<div>Alternatively we may also have only one type (MethodDescriptor) for describing methods *and* constructors. The only method which MethodDescriptor provides in addition to ConstructorDescriptor today is getName().  When representing constructors we could return the (binary) class name, resembling java.lang.reflect.Constructor#getName().</div>

<span><font color="#888888">
<div><br></div></font></span></div></div></blockquote></div><div>Since the descriptors are already retrieved by separate method calls, this seems reasonable enough to me.<div><div><img></div><span class="HOEnZb"><font color="#888888">
</font></span></div><span class="HOEnZb"><font color="#888888">Matt<br> <br></font></span></div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail_extra"><div class="gmail_quote"><span><font color="#888888"><div>
</div><div>--Gunnar</div></font></span><div><div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>
<div><div><img></div></div></div></div><img name="13afa0082e703927_13af3e41fb0e086a_13ae7adb3d503083_:0"><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Fri, Nov 9, 2012 at 6:08 PM, Gunnar Morling <span dir="ltr">&lt;<a href="mailto:gunnar@hibernate.org" target="_blank">gunnar@hibernate.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<p>Hi Matt,</p>
<p>On MethodDescriptor and ConstructorDescriptor there is a method List&lt;ParameterDescriptor&gt; getParameterDescriptors(). The individual parameter types can be determined via ParameterDescriptor#getElementClass(). Is that what you are after?</p>





<p>Btw. it likely makes sense to have a common super interface for MethodDescriptor and ConstructorDescriptor. There&#39;s BVAL-331 for this [1]. Suggestions for a good name are welcome, so far ExecutableDescriptor is the best we got.</p>





<p>--Gunnar</p>
<p>[1] <a href="https://hibernate.onjira.com/browse/BVAL-331" target="_blank">https://hibernate.onjira.com/browse/BVAL-331</a><br></p>
<div class="gmail_quote">Am <a href="tel:09.11.2012%2023" value="+49911201223" target="_blank">09.11.2012 23</a>:29 schrieb &quot;Matt Benson&quot; &lt;<a href="mailto:mbenson@apache.org" target="_blank">mbenson@apache.org</a>&gt;:<br type="attribution">




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>
Same must apply for constructors of course.<br><br>The alternative, IMO, is that #getConstrainedMethods() and #getConstrainedConstructors() are replaced by boolean #hasConstrainedMethods() and #hasConstrainedConstructors(), respectively, as that is all the current methods are really good for.<br>






<br>Matt<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 9, 2012 at 4:20 PM, Matt Benson <span dir="ltr">&lt;<a href="mailto:mbenson@apache.org" target="_blank">mbenson@apache.org</a>&gt;</span> wrote:<br>






<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">When calling BeanDescriptor#getConstraintsForMethod(...) a caller already knows the full signature of the method about which he is inquiring.  With BeanDescriptor#getConstrainedMethods() this is not the case.  Once the caller has gotten this information, the only useful things he knows are either  (A) that no methods are constrained, or (B) one or more methods are constrained, with a particular set of names.  He still has to call #getConstraintsForMethod(...) for every method whose name matches one returned by the gCM() call (let&#39;s not discuss how useful it may be to know the highest constrained parameter index).  This could be cleared up very simply by adding #getParameterTypes() to MethodDescriptor, and I urge that we do so.<span><font color="#888888"><br>







<br>Matt<br>
</font></span></blockquote></div><br></div>
<br></div></div>_______________________________________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
<br></blockquote></div>
<br>_______________________________________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org" target="_blank">beanvalidation-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
<br></blockquote></div><br></div>