Packageat.fhjoanneum.dmt.umj.core.controllers
Classpublic class BaseApplicationController
InheritanceBaseApplicationController Inheritance mx.core.UIComponent

IMPORTANT FRAMEWORK CLASS: The BaseApplicationController Class is the frist of 2 controllers every application needs to EXTEND with its own ApplicationController class! This is basically a extended class of an UIComponent and THIS controller will also automatically add to your stage as a children (invisible) to give it the power to do callLater asychronous calling, especially for the startup phases. SAMPLE: YOUR MAIL MXML SHOULD WORK THE FOLLOWING: // Logging constant private static const LOG:ILogger = LogUtil.getLogger(UMJAppXX); // Runtime Variable private var applicationController:ApplicationControllerXX; // Window has been build! - now execute our applicaitonController (run through BaseApplicationController phases 0-6) // ApplicationController needs a link to the stageController which is just a simple group with width and height to 100% protected function umjApp_applicationCompleteHandler(event:FlexEvent):void { LogUtil.checkStartupLogging(); LOG.debug("main_applicationCompleteHandler"); applicationController = new ApplicationControllerXX(stageContainer); }



Public Properties
 PropertyDefined By
  allowBasicScreenOperations : Boolean
[static] [read-only]
BaseApplicationController
  allPhasesFinished : Boolean
[static] [read-only] true if all startup phases have finished
BaseApplicationController
  globalKeyboardListenersForAdministrationAllowed : Boolean
[static] [read-only]
BaseApplicationController
  keyBindingsForAdministrationUI : String
[static]
BaseApplicationController
  preloaderFinishesOnlyAfterMediaHasBeenLoaded : Boolean
[static] [read-only]
BaseApplicationController
  startupPhasesFinished : Boolean
[static] [read-only]
BaseApplicationController
  staticEventDispatcher : IEventDispatcher
[static] [read-only]
BaseApplicationController
Protected Properties
 PropertyDefined By
  _allPhasesFinished : Boolean = false
[static]
BaseApplicationController
  appConfig : AppConfig
BaseApplicationController
  appContent : AppContent
BaseApplicationController
  appContentBundle : AppContentBundle
BaseApplicationController
  appPresentationContent : AppPresentationContent
BaseApplicationController
  displayController : BaseDisplayController
BaseApplicationController
  _displayFinished : Boolean = false
[static]
BaseApplicationController
  globalExceptionHelper : GlobalExceptionHelper
BaseApplicationController
  interfaceDispatcher : InterfaceDispatcher
BaseApplicationController
  interfaceMonitor : InterfaceMonitor
BaseApplicationController
  _startupPhasesFinished : Boolean = false
[static]
BaseApplicationController
  timingUtil : TimingUtil
BaseApplicationController
  xmlUtil : XMLUtil
BaseApplicationController
Public Methods
 MethodDefined By
  
BaseApplicationController(linkedStageContainer:Group, preloaderFinishesWhenAllMediaHasBeenLoaded:Boolean = false, allowScreenOperations:Boolean = true, globalListenersAllowed:Boolean = true)
The Base-Contructor of this Controller.
BaseApplicationController
Protected Methods
 MethodDefined By
  
phase0a_initSpecificApplicationDefinitions(linkedStageContainer:Group):void
phase 0 can and should be overridden and its method should initialize all baseapplication variable by its own special application specific variables override this function to hand over your OWN Application Specific Objects to the Base Controller.
BaseApplicationController
  
BaseApplicationController
  
BaseApplicationController
  
phase 1 inits the config through the constant default path found in AppConfig
BaseApplicationController
  
BaseApplicationController
  
BaseApplicationController
  
phase 2a inits the standard and default appContent at the default path specified in AppConfig
BaseApplicationController
  
BaseApplicationController
  
BaseApplicationController
  
phase 2b appPresentationContent if configured in AppConfig
BaseApplicationController
  
BaseApplicationController
  
BaseApplicationController
  
phase 2c appContentBundle if configured in AppConfig
BaseApplicationController
  
phase 3 builds all media components from that were initialized in appContent, appContentBundle and appPresentationContent
BaseApplicationController
  
phase 4 inits all interfaces that are enabled via AppConfig through the interfaceMonitor
BaseApplicationController
  
phase 5 inits displaycontroller, sets startupScreenMode and displayController.builds it
BaseApplicationController
  
phase 6 inits timing and links with display, interfaces, keylisteners and log.
BaseApplicationController
  
Override this function to add specific behaviour after startup procedures complete.
BaseApplicationController
Property Detail
_allPhasesFinishedproperty
protected static var _allPhasesFinished:Boolean = false

_displayFinishedproperty 
protected static var _displayFinished:Boolean = false

_startupPhasesFinishedproperty 
protected static var _startupPhasesFinished:Boolean = false

allowBasicScreenOperationsproperty 
allowBasicScreenOperations:Boolean  [read-only]


Implementation
    public static function get allowBasicScreenOperations():Boolean
allPhasesFinishedproperty 
allPhasesFinished:Boolean  [read-only]

true if all startup phases have finished


Implementation
    public static function get allPhasesFinished():Boolean
appConfigproperty 
protected var appConfig:AppConfig

appContentproperty 
protected var appContent:AppContent

appContentBundleproperty 
protected var appContentBundle:AppContentBundle

appPresentationContentproperty 
protected var appPresentationContent:AppPresentationContent

displayControllerproperty 
protected var displayController:BaseDisplayController

globalExceptionHelperproperty 
protected var globalExceptionHelper:GlobalExceptionHelper

globalKeyboardListenersForAdministrationAllowedproperty 
globalKeyboardListenersForAdministrationAllowed:Boolean  [read-only]


Implementation
    public static function get globalKeyboardListenersForAdministrationAllowed():Boolean
interfaceDispatcherproperty 
protected var interfaceDispatcher:InterfaceDispatcher

interfaceMonitorproperty 
protected var interfaceMonitor:InterfaceMonitor

keyBindingsForAdministrationUIproperty 
keyBindingsForAdministrationUI:String

This property can be used as the source for data binding.


Implementation
    public static function get keyBindingsForAdministrationUI():String
    public static function set keyBindingsForAdministrationUI(value:String):void
preloaderFinishesOnlyAfterMediaHasBeenLoadedproperty 
preloaderFinishesOnlyAfterMediaHasBeenLoaded:Boolean  [read-only]


Implementation
    public static function get preloaderFinishesOnlyAfterMediaHasBeenLoaded():Boolean
startupPhasesFinishedproperty 
startupPhasesFinished:Boolean  [read-only]


Implementation
    public static function get startupPhasesFinished():Boolean
staticEventDispatcherproperty 
staticEventDispatcher:IEventDispatcher  [read-only]


Implementation
    public static function get staticEventDispatcher():IEventDispatcher
timingUtilproperty 
protected var timingUtil:TimingUtil

xmlUtilproperty 
protected var xmlUtil:XMLUtil

Constructor Detail
BaseApplicationController()Constructor
public function BaseApplicationController(linkedStageContainer:Group, preloaderFinishesWhenAllMediaHasBeenLoaded:Boolean = false, allowScreenOperations:Boolean = true, globalListenersAllowed:Boolean = true)

The Base-Contructor of this Controller. It awaits a empty spark s:GROUP in his constructor that has been added to your MAIN stage or mxmal markup (via ID). Make sure the referenced group is 100% height and width enabled. It's extremely important to call super() at the beginning of your own implementation so this constructor its behaviour and the startupphases... HENCE: This Contructor calls the 1.startup phase at its implmentation end - phase0 and phase0a are called automatically within to initialize the environment.

Parameters
linkedStageContainer:Group
 
preloaderFinishesWhenAllMediaHasBeenLoaded:Boolean (default = false)
 
allowScreenOperations:Boolean (default = true)
 
globalListenersAllowed:Boolean (default = true)
Method Detail
phase0a_initSpecificApplicationDefinitions()method
protected function phase0a_initSpecificApplicationDefinitions(linkedStageContainer:Group):void

phase 0 can and should be overridden and its method should initialize all baseapplication variable by its own special application specific variables override this function to hand over your OWN Application Specific Objects to the Base Controller. mostly you we will use a application specific implementation for your display displaycontroller - hence override the generic displayController definition. displayController = new DisplayControllerXX(stageContainer); If you don't overwrite the others, their generic definition will be used as in UMJ-core! in most cases you won't need to override anything else but the displayController with your own implementation. Other Possible Overwrites: appConfig = AppConfigXX.getInstance(); appContent = AppContentXX.getInstance(); xmlUtil = XMLUtilXX.getInstance(); interfaceMonitor = InterfaceMonitorXX.getInstance();

Parameters

linkedStageContainer:Group

phase1_completeConfig()method 
protected function phase1_completeConfig(event:AppConfigEvent):void

Parameters

event:AppConfigEvent

phase1_errorConfig()method 
protected function phase1_errorConfig(event:AppConfigEvent):void

Parameters

event:AppConfigEvent

phase1_initConfig()method 
protected function phase1_initConfig():void

phase 1 inits the config through the constant default path found in AppConfig

phase2a_completeContent()method 
protected function phase2a_completeContent(event:AppContentEvent):void

Parameters

event:AppContentEvent

phase2a_errorContent()method 
protected function phase2a_errorContent(event:AppContentEvent):void

Parameters

event:AppContentEvent

phase2a_initContent()method 
protected function phase2a_initContent():void

phase 2a inits the standard and default appContent at the default path specified in AppConfig

phase2b_completePresentationContent()method 
protected function phase2b_completePresentationContent(event:AppContentEvent):void

Parameters

event:AppContentEvent

phase2b_errorPresentationContent()method 
protected function phase2b_errorPresentationContent(event:AppContentEvent):void

Parameters

event:AppContentEvent

phase2b_initPresentationContent()method 
protected function phase2b_initPresentationContent():void

phase 2b appPresentationContent if configured in AppConfig

phase2c_completeContentBundle()method 
protected function phase2c_completeContentBundle(event:AppContentEvent):void

Parameters

event:AppContentEvent

phase2c_errorContentBundle()method 
protected function phase2c_errorContentBundle(event:AppContentEvent):void

Parameters

event:AppContentEvent

phase2c_initAppContentBundle()method 
protected function phase2c_initAppContentBundle():void

phase 2c appContentBundle if configured in AppConfig

phase3_initMedia()method 
protected function phase3_initMedia():void

phase 3 builds all media components from that were initialized in appContent, appContentBundle and appPresentationContent

phase4_initInterfaces()method 
protected function phase4_initInterfaces():void

phase 4 inits all interfaces that are enabled via AppConfig through the interfaceMonitor

phase5_initDisplay()method 
protected function phase5_initDisplay():void

phase 5 inits displaycontroller, sets startupScreenMode and displayController.builds it

phase6_applicationComplete()method 
protected function phase6_applicationComplete():void

phase 6 inits timing and links with display, interfaces, keylisteners and log.

phase6a_specificApplicationComplete()method 
protected function phase6a_specificApplicationComplete():void

Override this function to add specific behaviour after startup procedures complete.