title: Java Interface Reflection Alternatives
body: <p>I am developing an application that makes use of the Java Interface as <em>more</em> than a Java interface, i.e., During runtime, the user should be able to list the available methods within the interface class, which may be anything:</p>
  
  <pre><code>private Class&lt;? extends BaseInterface&gt; interfaceClass.
  </code></pre>
  
  <p>At runtime, I would like to enum the available methods, and then based on what the user chooses, invoke some method.</p>
  
  <p>My question is:  Does the Java "Interface" architecture provide any method for me to peek and invoke methods without using the Reflection API?</p>
  
  <p>I wish there were something like this (Maybe there is):</p>
  
  <pre><code>private Interface&lt;? extends BaseInterface&gt; interfaceAPI;
  
  public void someMethod(){
   interfaceAPI.listMethods();
   interfaceAPI.getAnnotations();
  }
  </code></pre>
  
  <p>Maybe there is some way to use Type Generics to accomplish what I want?  </p>
  
  <p>Thanks,</p>
  
  <p>Phaedrus</p>