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

Object
  extended by GenClass
      extended by ControlImpl
Direct Known Subclasses:
AptControlImplementation

public abstract class ControlImpl
extends GenClass

The ControlImpl class is an abstract class that represents the attributes of a Control implementation class.


Constructor Summary
ControlImpl()
           
 
Method Summary
 List<GeneratorOutput> getCheckOutput(Filer filer)
          Returns the information necessary to generate a ImplInitializer from this ControlImplementation.
 ArrayList<ClientField> getClients()
          Returns the list of ClientFields declared directly by this ControlImpl
 ArrayList<ContextField> getContexts()
          Returns the list of ContextFields declared directly by this ControlImpl
 EventField getControlField(String name)
           
abstract  ControlInterface getControlInterface()
          Returns the ControlInterface associated with this implementation
 GenField getField(String name)
          Returns the field with the specified name
 String[] getGeneratedTypes()
          Returns the list of fully qualified class names for types that are derived from this GenClass
 ControlImpl getSuperClass()
          Returns the super interface for this interface
 boolean hasClients()
          Returns true if the implemenation class contains any nested event proxies
 boolean hasContexts()
          Returns true if the implemenation class contains any nested services
 boolean hasControls()
          Returns true if the implemenation class contains any nested controls
protected  void init()
          Initializes the ControlInterface class.
protected abstract  ArrayList<ClientField> initClients()
          Initializes the list of ClientFields declared directly by this ControlImpl
protected abstract  ArrayList<ContextField> initContexts()
          Initializes the list of ContextFields declared directly by this ControlImpl
protected abstract  ArrayList<ControlField> initControls()
          Initializes the list of control fields for this ControlImpl.
protected abstract  void initEventAdaptors()
          Initializes the ControlEventAdaptors associated with this ControlImpl
protected abstract  ControlImpl initSuperClass()
          Initializes the super ControlInterface that this ControlInterface extends (or sets it to null if a base interface)
 
Methods inherited from class GenClass
getClassName, getGenerateOutput, getPackage, getShortName, hasSuperClass
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ControlImpl

public ControlImpl()
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 ControlImpl initSuperClass()
Initializes the super ControlInterface that this ControlInterface extends (or sets it to null if a base interface)


getControlInterface

public abstract ControlInterface getControlInterface()
Returns the ControlInterface associated with this implementation


initContexts

protected abstract ArrayList<ContextField> initContexts()
Initializes the list of ContextFields declared directly by this ControlImpl


initClients

protected abstract ArrayList<ClientField> initClients()
Initializes the list of ClientFields declared directly by this ControlImpl


initControls

protected abstract ArrayList<ControlField> initControls()
Initializes the list of control fields for this ControlImpl. While nested control references are processed by a different processor, we identify them so they can be ignored. This allows multiple annotation processors to process event handlers without spurious errors.


getSuperClass

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

Specified by:
getSuperClass in class GenClass

getContexts

public ArrayList<ContextField> getContexts()
Returns the list of ContextFields declared directly by this ControlImpl


hasContexts

public boolean hasContexts()
Returns true if the implemenation class contains any nested services


hasControls

public boolean hasControls()
Returns true if the implemenation class contains any nested controls


getClients

public ArrayList<ClientField> getClients()
Returns the list of ClientFields declared directly by this ControlImpl


hasClients

public boolean hasClients()
Returns true if the implemenation class contains any nested event proxies


initEventAdaptors

protected abstract void initEventAdaptors()
Initializes the ControlEventAdaptors associated with this ControlImpl


getField

public GenField getField(String name)
Returns the field with the specified name


getControlField

public EventField getControlField(String name)

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 ImplInitializer from this ControlImplementation.

Overrides:
getCheckOutput in class GenClass
Throws:
IOException