org.objectweb.telosys.screen.core
Class StandardScreenRegistry

java.lang.Object
  extended byorg.objectweb.telosys.common.TelosysObject
      extended byorg.objectweb.telosys.screen.core.StandardScreenRegistry
All Implemented Interfaces:
IScreenDataProvider, IScreenProvider

public class StandardScreenRegistry
extends TelosysObject
implements IScreenProvider, IScreenDataProvider

The standard "Screen Context Registry"
This is the standard implementation of IScreenProvider and IScreenDataProvider
Since ver 1.0.5 this registry is able to found a Screen definition dynamically
by applying "Convention Over Configuration" principle ( see registerConvention methods )


Constructor Summary
StandardScreenRegistry()
          Constructor
 
Method Summary
 ScreenContext getScreen(ScreenSession screenSession, java.lang.String sScreenName, int iScreenId)
          Creates a new ScreenContext instance for the given ScreenContext Name and ScreenContext ID
 ScreenData getScreenData(java.lang.String sScreenName)
          Creates a new ScreenData instance for the given ScreenContext Name
 void init()
          Initializes the screen provider using the current Telosys properties
protected  void register(java.lang.String screenName, java.lang.Class screenDataClass, java.lang.Class screenManagerClass, java.lang.Class screenTriggersClass, java.lang.Class screenProceduresClass)
          Registers a ScreenContext with the 4 main components ( each class is defined explicitly )
protected  void register(java.lang.String screenName, java.lang.Class screenDataClass, java.lang.Class screenManagerClass, java.lang.Class screenActionsClass, java.lang.Class screenTriggersClass, java.lang.Class screenProceduresClass)
          Registers a ScreenContext with all its components ( each class is defined explicitly )
protected  void registerConvention(java.lang.String sGenericClassNamePattern)
          Register a convention based on a common class name pattern
the java classes extensions are the default extensions ( "Data", "Mgr", etc ... )
all the ScreenContext classes are located in the same package ( ScreenData, ScreenManager, ScreenTrigger, etc )
protected  void registerConvention(java.lang.String screenDataClassName, java.lang.String screenManagerClassName, java.lang.String screenTriggerClassName, java.lang.String screenProcedureClassName)
          Register a convention based on 4 specific class name patterns
protected  void registerConvention(java.lang.String sGenericClassNamePattern, java.lang.String screenDataExtension, java.lang.String screenManagerExtension, java.lang.String screenTriggerExtension, java.lang.String screenProcedureExtension)
          Register a convention based on a common class name pattern
with specific screen classes extensions
all the ScreenContext classes are located in the same package ( ScreenData, ScreenManager, ScreenTrigger, etc )
protected  void registerConvention(java.lang.String screenDataPackageName, java.lang.String screenDataClassName, java.lang.String screenManagerPackageName, java.lang.String screenManagerClassName, java.lang.String screenTriggerPackageName, java.lang.String screenTriggerClassName, java.lang.String screenProcedurePackageName, java.lang.String screenProcedureClassName)
          Register a convention based on 4 specific package name patterns and 4 specific class name patterns
 
Methods inherited from class org.objectweb.telosys.common.TelosysObject
error, error, error, getFlagTrace, info, setFlagTrace, trace, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardScreenRegistry

public StandardScreenRegistry()
Constructor

Since:
1.0.5
Method Detail

init

public void init()
Description copied from interface: IScreenProvider
Initializes the screen provider using the current Telosys properties

Specified by:
init in interface IScreenProvider

register

protected final void register(java.lang.String screenName,
                              java.lang.Class screenDataClass,
                              java.lang.Class screenManagerClass,
                              java.lang.Class screenActionsClass,
                              java.lang.Class screenTriggersClass,
                              java.lang.Class screenProceduresClass)
Registers a ScreenContext with all its components ( each class is defined explicitly )

Parameters:
screenName -
screenDataClass -
screenManagerClass -
screenActionsClass -
screenTriggersClass -
screenProceduresClass -

register

protected final void register(java.lang.String screenName,
                              java.lang.Class screenDataClass,
                              java.lang.Class screenManagerClass,
                              java.lang.Class screenTriggersClass,
                              java.lang.Class screenProceduresClass)
Registers a ScreenContext with the 4 main components ( each class is defined explicitly )

Parameters:
screenName -
screenDataClass -
screenManagerClass -
screenTriggersClass -
screenProceduresClass -

getScreen

public ScreenContext getScreen(ScreenSession screenSession,
                               java.lang.String sScreenName,
                               int iScreenId)
                        throws TelosysException
Description copied from interface: IScreenProvider
Creates a new ScreenContext instance for the given ScreenContext Name and ScreenContext ID

Specified by:
getScreen in interface IScreenProvider
Parameters:
screenSession -
sScreenName -
iScreenId -
Returns:
Throws:
TelosysException

getScreenData

public ScreenData getScreenData(java.lang.String sScreenName)
                         throws TelosysException
Description copied from interface: IScreenDataProvider
Creates a new ScreenData instance for the given ScreenContext Name

Specified by:
getScreenData in interface IScreenDataProvider
Parameters:
sScreenName -
Returns:
Throws:
TelosysException

registerConvention

protected final void registerConvention(java.lang.String sGenericClassNamePattern)
Register a convention based on a common class name pattern
the java classes extensions are the default extensions ( "Data", "Mgr", etc ... )
all the ScreenContext classes are located in the same package ( ScreenData, ScreenManager, ScreenTrigger, etc )

Parameters:
sGenericClassNamePattern - the class name pattern for all the classes ( ie "demo.screen.${SCREENNAME_LC}.${SCREENNAME}" )
Since:
1.0.5

registerConvention

protected final void registerConvention(java.lang.String sGenericClassNamePattern,
                                        java.lang.String screenDataExtension,
                                        java.lang.String screenManagerExtension,
                                        java.lang.String screenTriggerExtension,
                                        java.lang.String screenProcedureExtension)
Register a convention based on a common class name pattern
with specific screen classes extensions
all the ScreenContext classes are located in the same package ( ScreenData, ScreenManager, ScreenTrigger, etc )

Parameters:
sGenericClassNamePattern - the class name pattern for all the classes ( ie "demo.screen.${SCREENNAME_LC}.${SCREENNAME}" )
screenDataExtension - the ScreenData class suffix ( by default "Data" )
screenManagerExtension - the ScreenManager class suffix ( by default "Mgr" )
screenTriggerExtension - the ScreenTrigger class suffix ( by default "Trg" )
screenProcedureExtension - the ScreenProcedure class suffix ( by default "Proc" )
Since:
1.0.5

registerConvention

protected final void registerConvention(java.lang.String screenDataClassName,
                                        java.lang.String screenManagerClassName,
                                        java.lang.String screenTriggerClassName,
                                        java.lang.String screenProcedureClassName)
Register a convention based on 4 specific class name patterns

Parameters:
screenDataClassName -
screenManagerClassName -
screenTriggerClassName -
screenProcedureClassName -
Since:
1.0.5

registerConvention

protected final void registerConvention(java.lang.String screenDataPackageName,
                                        java.lang.String screenDataClassName,
                                        java.lang.String screenManagerPackageName,
                                        java.lang.String screenManagerClassName,
                                        java.lang.String screenTriggerPackageName,
                                        java.lang.String screenTriggerClassName,
                                        java.lang.String screenProcedurePackageName,
                                        java.lang.String screenProcedureClassName)
Register a convention based on 4 specific package name patterns and 4 specific class name patterns

Parameters:
screenDataPackageName -
screenDataClassName -
screenManagerPackageName -
screenManagerClassName -
screenTriggerPackageName -
screenTriggerClassName -
screenProcedurePackageName -
screenProcedureClassName -
Since:
1.0.5