org.apache.beehive.controls.runtime.generator.apt
Class AptControlInterface

Object
  extended by GenClass
      extended by ControlInterface
          extended by AptControlInterface

public class AptControlInterface
extends ControlInterface

REVIEW: does it make sense to define AptControlExtension and/or ControlExtension?


Constructor Summary
AptControlInterface(Declaration decl, AnnotationProcessorEnvironment env)
          Constructs a new ControlInterface instance where interface information is derived from APT metadata
 
Method Summary
 void check()
          Runs control-specific checker class (if specified)
 String getClassName()
          Returns the fully qualified classname of this ControlInterface
 ClassLoader getExternalClassLoader()
          Returns a classloader that can be used to load external classes
 HashMap<String,String> getManifestAttributes()
          Returns the array of ManifestAttributes associated with the ControlInterface
 ControlInterface getMostDerivedInterface()
          Returns the most-derived interface in the inheritance chain that is annotated with @ControlInterface.
 String getPackage()
          Returns the fully qualified package name of this ControlImpl
 String getShortName()
          Returns the unqualified classname of this ControlInterface.
protected  ArrayList<ControlEventSet> initEventSets()
          Initializes the list of EventSets declared by this ControlInterface
 FeatureInfo initFeatureInfo()
          Returns the FeatureInfo annotation for this control interface, or null if there is none.
protected  ArrayList<ControlOperation> initOperations()
          Initializes the list of operations declared by this ControlInterface
protected  ArrayList<ControlPropertySet> initPropertySets()
          Initializes the list of PropertySets declared by this ControlInterface
protected  ControlInterface initSuperClass()
          Initializes the super interface that this ControlInterface extends (or sets it to null if a base interface)
 boolean isExtension()
          Returns true if this interface is a ControlExtension (jcx) interface, false otherwise.
 
Methods inherited from class ControlInterface
getCheckOutput, getEventSet, getEventSets, getFeatureInfo, getGeneratedTypes, getGenerateOutput, getOperations, getPropertyCount, getPropertySets, getSuperClass, init, needsCustomPropertyDescriptors
 
Methods inherited from class GenClass
hasSuperClass
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AptControlInterface

public AptControlInterface(Declaration decl,
                           AnnotationProcessorEnvironment env)
Constructs a new ControlInterface instance where interface information is derived from APT metadata

Parameters:
decl - the annotated Declaration
env - the APT environment
Method Detail

initSuperClass

protected ControlInterface initSuperClass()
Initializes the super interface that this ControlInterface extends (or sets it to null if a base interface)

Specified by:
initSuperClass in class ControlInterface

initOperations

protected ArrayList<ControlOperation> initOperations()
Initializes the list of operations declared by this ControlInterface

Specified by:
initOperations in class ControlInterface

initPropertySets

protected ArrayList<ControlPropertySet> initPropertySets()
Initializes the list of PropertySets declared by this ControlInterface

Specified by:
initPropertySets in class ControlInterface

initEventSets

protected ArrayList<ControlEventSet> initEventSets()
Initializes the list of EventSets declared by this ControlInterface

Specified by:
initEventSets in class ControlInterface

getPackage

public String getPackage()
Returns the fully qualified package name of this ControlImpl

Specified by:
getPackage in class GenClass

getShortName

public String getShortName()
Returns the unqualified classname of this ControlInterface. Note that if the interface is nested, this will not return the containing class/intf names.

Specified by:
getShortName in class GenClass

getClassName

public String getClassName()
Returns the fully qualified classname of this ControlInterface

Specified by:
getClassName in class GenClass

isExtension

public boolean isExtension()
Returns true if this interface is a ControlExtension (jcx) interface, false otherwise.

Specified by:
isExtension in class ControlInterface

getMostDerivedInterface

public ControlInterface getMostDerivedInterface()
Returns the most-derived interface in the inheritance chain that is annotated with @ControlInterface. It represents the point in the inheritance chain where @ControlInterface becomes @ControlExtension (i.e., anything interface derived from the 'most-derived interface' is annotated with @ControlExtension). May return null if the inheritance chain is malformed.

Specified by:
getMostDerivedInterface in class ControlInterface

getExternalClassLoader

public ClassLoader getExternalClassLoader()
Returns a classloader that can be used to load external classes

Specified by:
getExternalClassLoader in class ControlInterface

getManifestAttributes

public HashMap<String,String> getManifestAttributes()
Returns the array of ManifestAttributes associated with the ControlInterface

Specified by:
getManifestAttributes in class ControlInterface

initFeatureInfo

public FeatureInfo initFeatureInfo()
Returns the FeatureInfo annotation for this control interface, or null if there is none.

Specified by:
initFeatureInfo in class ControlInterface

check

public void check()
Runs control-specific checker class (if specified)

Specified by:
check in class ControlInterface