Improved semantic validation of @ControlExtension
-------------------------------------------------

         Key: BEEHIVE-118
         URL: http://nagoya.apache.org/jira/browse/BEEHIVE-118
     Project: Beehive
        Type: Bug
  Components: Controls  
    Versions: V1Beta    
    Reporter: James Song
 Assigned to: Kyle Marvin 
    Priority: Minor
     Fix For: V1Beta


This originates from CR178618.

Problem: when SubControl.java is declared like in the sample:

@ControlExtension
public interface SubControl extends ExtensibleControl
{
    �
}

A runtime error occurs.

The real issue here is that SubControl.java is a Control public interface (that 
extends another Control Interface), but has the @ControlExtension annotation, 
when it really should have the @ControlInterface annotation.

The basic rule of thumb is that a JCX file has @ControlExtension, and generally 
has no associated Impl (methods are handled by Extensible.invoke) on the 
associated Impl; more direct impl subclassing (with associated interface 
extension) is done using the @ControlInterface.

The checker should have detected this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to