java.lang.Objectorg.objectweb.telosys.common.TelosysObject
org.objectweb.telosys.screen.core.StandardScreenRegistry
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 |
public StandardScreenRegistry()
Method Detail |
public void init()
IScreenProvider
init
in interface IScreenProvider
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)
screenName
- screenDataClass
- screenManagerClass
- screenActionsClass
- screenTriggersClass
- screenProceduresClass
- protected final void register(java.lang.String screenName, java.lang.Class screenDataClass, java.lang.Class screenManagerClass, java.lang.Class screenTriggersClass, java.lang.Class screenProceduresClass)
screenName
- screenDataClass
- screenManagerClass
- screenTriggersClass
- screenProceduresClass
- public ScreenContext getScreen(ScreenSession screenSession, java.lang.String sScreenName, int iScreenId) throws TelosysException
IScreenProvider
getScreen
in interface IScreenProvider
screenSession
- sScreenName
- iScreenId
-
TelosysException
public ScreenData getScreenData(java.lang.String sScreenName) throws TelosysException
IScreenDataProvider
getScreenData
in interface IScreenDataProvider
sScreenName
-
TelosysException
protected final void registerConvention(java.lang.String sGenericClassNamePattern)
sGenericClassNamePattern
- the class name pattern for all the classes ( ie "demo.screen.${SCREENNAME_LC}.${SCREENNAME}" )protected final void registerConvention(java.lang.String sGenericClassNamePattern, java.lang.String screenDataExtension, java.lang.String screenManagerExtension, java.lang.String screenTriggerExtension, java.lang.String screenProcedureExtension)
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" )protected final void registerConvention(java.lang.String screenDataClassName, java.lang.String screenManagerClassName, java.lang.String screenTriggerClassName, java.lang.String screenProcedureClassName)
screenDataClassName
- screenManagerClassName
- screenTriggerClassName
- screenProcedureClassName
- 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)
screenDataPackageName
- screenDataClassName
- screenManagerPackageName
- screenManagerClassName
- screenTriggerPackageName
- screenTriggerClassName
- screenProcedurePackageName
- screenProcedureClassName
-