org.apache.beehive.controls.runtime.generator
Class ControlInterface

Object
  extended by GenClass
      extended by ControlInterface
Direct Known Subclasses:
AptControlInterface

public abstract class ControlInterface
extends GenClass

The ControlInterface class is an abstract base class that represents the interface (base or extension) associated with a ControlBean type.


Constructor Summary
ControlInterface()
           
 
Method Summary
abstract  void check()
          Perform any type-specific checking associated with a control-extension type.
 List<GeneratorOutput> getCheckOutput(Filer filer)
          Returns the information necessary to generate a ControlBean from this ControlInterface
 ControlEventSet getEventSet(String name)
          Returns the ControlEventSet with the specified name
 ArrayList<ControlEventSet> getEventSets()
          Returns the list of ControlEventSets declared directly by this ControlInterface
abstract  ClassLoader getExternalClassLoader()
          Returns a classloader that can be used to load external classes (e.g. user-written control checkers)
 FeatureInfo getFeatureInfo()
          Returns the FeatureInfo attributes for this control interface
 String[] getGeneratedTypes()
          Returns the list of fully qualified class names for types that are derived from this GenClass
 List<GeneratorOutput> getGenerateOutput(Filer filer)
          Returns the information necessary to generate a packaging information from this ControlInterface.
abstract  HashMap<String,String> getManifestAttributes()
          Returns the array of ManifestAttributes associated with the ControlInterface
abstract  ControlInterface getMostDerivedInterface()
          Returns the most-derived interface in the inheritance chain that is annotated with @ControlInterface.
 ArrayList<ControlOperation> getOperations()
          Returns the list of ControlOperations declared directly by this ControlInterface
 int getPropertyCount()
          Returns the total number of properties for this control interface
 ArrayList<ControlPropertySet> getPropertySets()
          Returns the list of ControlPropertySets declared directly by this ControlInterface
 ControlInterface getSuperClass()
          Returns the super interface for this interface
protected  void init()
          Initializes the ControlInterface class.
protected abstract  ArrayList<ControlEventSet> initEventSets()
          Initializes the list of ControlEventSets declared directly by this ControlInterface
abstract  FeatureInfo initFeatureInfo()
          Returns the FeatureInfo annotation instance for this control interface (or null if the annotation is not found).
protected abstract  ArrayList<ControlOperation> initOperations()
          Initializes the list of ControlOperations declared directly by this ControlInterface
protected abstract  ArrayList<ControlPropertySet> initPropertySets()
          Initializes the list of ControlPropertySets declared directly by this ControlInterface
protected abstract  ControlInterface initSuperClass()
          Initializes the super ControlInterface that this ControlInterface extends (or sets it to null if a base interface)
abstract  boolean isExtension()
          Returns 'true' if this interface is a ControlExtension (jcx) interface, false otherwise.
 boolean needsCustomPropertyDescriptors()
          Returns true if the control BeanInfo needs a customized set of PropertyDescriptors code generated or false if standard introspection via reflection is ok.
 
Methods inherited from class GenClass
getClassName, getPackage, getShortName, hasSuperClass
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ControlInterface

public ControlInterface()
Method Detail

init

protected void init()
Initializes the ControlInterface class. This will be called by custom subclasses to drive the initialization process.


initSuperClass

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


initOperations

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


initPropertySets

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


initEventSets

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


isExtension

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


getMostDerivedInterface

public abstract 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


getExternalClassLoader

public abstract ClassLoader getExternalClassLoader()
Returns a classloader that can be used to load external classes (e.g. user-written control checkers)


check

public abstract void check()
Perform any type-specific checking associated with a control-extension type.


getSuperClass

public ControlInterface getSuperClass()
Returns the super interface for this interface

Specified by:
getSuperClass in class GenClass

getOperations

public ArrayList<ControlOperation> getOperations()
Returns the list of ControlOperations declared directly by this ControlInterface


getPropertySets

public ArrayList<ControlPropertySet> getPropertySets()
Returns the list of ControlPropertySets declared directly by this ControlInterface


getEventSets

public ArrayList<ControlEventSet> getEventSets()
Returns the list of ControlEventSets declared directly by this ControlInterface


getEventSet

public ControlEventSet getEventSet(String name)
Returns the ControlEventSet with the specified name


getManifestAttributes

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


initFeatureInfo

public abstract FeatureInfo initFeatureInfo()
Returns the FeatureInfo annotation instance for this control interface (or null if the annotation is not found).


getFeatureInfo

public FeatureInfo getFeatureInfo()
Returns the FeatureInfo attributes for this control interface


getPropertyCount

public int getPropertyCount()
Returns the total number of properties for this control interface


needsCustomPropertyDescriptors

public boolean needsCustomPropertyDescriptors()
Returns true if the control BeanInfo needs a customized set of PropertyDescriptors code generated or false if standard introspection via reflection is ok.


getGeneratedTypes

public String[] getGeneratedTypes()
Returns the list of fully qualified class names for types that are derived from this GenClass

Overrides:
getGeneratedTypes in class GenClass

getCheckOutput

public List<GeneratorOutput> getCheckOutput(Filer filer)
                                     throws IOException
Returns the information necessary to generate a ControlBean from this ControlInterface

Overrides:
getCheckOutput in class GenClass
Throws:
IOException

getGenerateOutput

public List<GeneratorOutput> getGenerateOutput(Filer filer)
                                        throws IOException
Returns the information necessary to generate a packaging information from this ControlInterface. Since this information is not needed during type validation, it can be delated until the generate phase.

Overrides:
getGenerateOutput in class GenClass
Throws:
IOException