org.jacp.javafx2.rcp.perspective
Class AFX2Perspective

java.lang.Object
  extended by org.jacp.javafx2.rcp.perspective.AFX2Perspective
All Implemented Interfaces:
org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>, org.jacp.api.component.IExtendedComponent<javafx.scene.Node>, org.jacp.api.component.IHandleable<javafx.event.Event,java.lang.Object>, org.jacp.api.component.ILayoutAbleComponent<javafx.scene.Node>, org.jacp.api.component.IRootComponent<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>>, org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

public abstract class AFX2Perspective
extends java.lang.Object
implements org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>, org.jacp.api.component.IExtendedComponent<javafx.scene.Node>, org.jacp.api.component.ILayoutAbleComponent<javafx.scene.Node>

represents a basic javafx2 perspective that handles subcomponents, perspectives are not handled in thread so avoid long running tasks in perspectives.

Author:
Andy Moncsek

Constructor Summary
AFX2Perspective()
           
 
Method Summary
 org.jacp.api.action.IActionListener<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object> getActionListener()
           
 java.util.concurrent.BlockingQueue<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> getComponentDelegateQueue()
           
 org.jacp.api.handler.IComponentHandler<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> getComponentHandler()
           
 java.util.concurrent.BlockingQueue<org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> getComponentsMessageQueue()
           
 java.lang.String getId()
           
 org.jacp.api.componentLayout.IPerspectiveLayout<? extends javafx.scene.Node,javafx.scene.Node> getIPerspectiveLayout()
           
 java.util.concurrent.BlockingQueue<org.jacp.api.action.IDelegateDTO<javafx.event.Event,java.lang.Object>> getMessageDelegateQueue()
           
 java.lang.String getName()
           
 java.util.List<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> getSubcomponents()
           
<C> C
handle(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action)
           
 void handlePerspective(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action)
           
abstract  void handlePerspective(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action, FX2PerspectiveLayout perspectiveLayout)
          handle perspective method to initialize the perspective and the layout
 void init(java.util.concurrent.BlockingQueue<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> componentDelegateQueue, java.util.concurrent.BlockingQueue<org.jacp.api.action.IDelegateDTO<javafx.event.Event,java.lang.Object>> messageDelegateQueue)
           
 void initComponents(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action)
           
 boolean isActive()
           
 boolean isStarted()
           
 void onStart(org.jacp.api.componentLayout.IBaseLayout<javafx.scene.Node> layout)
          
abstract  void onStartPerspective(FX2ComponentLayout layout)
          Handle menu, bars and other UI components on component start.
 void onTearDown(org.jacp.api.componentLayout.IBaseLayout<javafx.scene.Node> layout)
          
abstract  void onTearDownPerspective(FX2ComponentLayout layout)
          Clean up menu, bars and other components on component teardown.
 void postInit(org.jacp.api.handler.IComponentHandler<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> componentHandler)
          
 void registerComponent(org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object> component)
           
 void setActive(boolean active)
           
 void setId(java.lang.String id)
           
 void setMessageQueue(java.util.concurrent.BlockingQueue<org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> messageQueue)
          
 void setName(java.lang.String name)
           
 void setStarted(boolean isActive)
           
 void setSubcomponents(java.util.List<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> subComponents)
           
 void unregisterComponent(org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object> component)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AFX2Perspective

public AFX2Perspective()
Method Detail

init

public final void init(java.util.concurrent.BlockingQueue<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> componentDelegateQueue,
                       java.util.concurrent.BlockingQueue<org.jacp.api.action.IDelegateDTO<javafx.event.Event,java.lang.Object>> messageDelegateQueue)
Specified by:
init in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

handle

public final <C> C handle(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action)
Specified by:
handle in interface org.jacp.api.component.IHandleable<javafx.event.Event,java.lang.Object>

onStart

public final void onStart(org.jacp.api.componentLayout.IBaseLayout<javafx.scene.Node> layout)

Specified by:
onStart in interface org.jacp.api.component.IExtendedComponent<javafx.scene.Node>

postInit

public void postInit(org.jacp.api.handler.IComponentHandler<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> componentHandler)

Specified by:
postInit in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

onTearDown

public void onTearDown(org.jacp.api.componentLayout.IBaseLayout<javafx.scene.Node> layout)

Specified by:
onTearDown in interface org.jacp.api.component.IExtendedComponent<javafx.scene.Node>

onStartPerspective

public abstract void onStartPerspective(FX2ComponentLayout layout)
Handle menu, bars and other UI components on component start.

Parameters:
menuBar -
bars -

onTearDownPerspective

public abstract void onTearDownPerspective(FX2ComponentLayout layout)
Clean up menu, bars and other components on component teardown.

Parameters:
menuBar -
bars -

handlePerspective

public abstract void handlePerspective(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action,
                                       FX2PerspectiveLayout perspectiveLayout)
handle perspective method to initialize the perspective and the layout

Parameters:
action -
perspectiveLayout -

handlePerspective

public void handlePerspective(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action)
Specified by:
handlePerspective in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

registerComponent

public final void registerComponent(org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object> component)
Specified by:
registerComponent in interface org.jacp.api.component.IRootComponent<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>>

unregisterComponent

public final void unregisterComponent(org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object> component)
Specified by:
unregisterComponent in interface org.jacp.api.component.IRootComponent<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>>

initComponents

public final void initComponents(org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object> action)
Specified by:
initComponents in interface org.jacp.api.component.IRootComponent<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>>

isActive

public boolean isActive()
Specified by:
isActive in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

isStarted

public boolean isStarted()
Specified by:
isStarted in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

setName

public final void setName(java.lang.String name)
Specified by:
setName in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

setId

public final void setId(java.lang.String id)
Specified by:
setId in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

setActive

public final void setActive(boolean active)
Specified by:
setActive in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

setStarted

public final void setStarted(boolean isActive)
Specified by:
setStarted in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

setSubcomponents

public final void setSubcomponents(java.util.List<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> subComponents)
Specified by:
setSubcomponents in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

setMessageQueue

public final void setMessageQueue(java.util.concurrent.BlockingQueue<org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> messageQueue)

Specified by:
setMessageQueue in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getSubcomponents

public java.util.List<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> getSubcomponents()
Specified by:
getSubcomponents in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getIPerspectiveLayout

public org.jacp.api.componentLayout.IPerspectiveLayout<? extends javafx.scene.Node,javafx.scene.Node> getIPerspectiveLayout()
Specified by:
getIPerspectiveLayout in interface org.jacp.api.component.ILayoutAbleComponent<javafx.scene.Node>

getActionListener

public org.jacp.api.action.IActionListener<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object> getActionListener()
Specified by:
getActionListener in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getName

public java.lang.String getName()
Specified by:
getName in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getId

public java.lang.String getId()
Specified by:
getId in interface org.jacp.api.component.IComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getComponentDelegateQueue

public final java.util.concurrent.BlockingQueue<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>> getComponentDelegateQueue()
Specified by:
getComponentDelegateQueue in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getMessageDelegateQueue

public final java.util.concurrent.BlockingQueue<org.jacp.api.action.IDelegateDTO<javafx.event.Event,java.lang.Object>> getMessageDelegateQueue()
Specified by:
getMessageDelegateQueue in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getComponentsMessageQueue

public final java.util.concurrent.BlockingQueue<org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> getComponentsMessageQueue()
Specified by:
getComponentsMessageQueue in interface org.jacp.api.perspective.IPerspective<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>

getComponentHandler

public org.jacp.api.handler.IComponentHandler<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>> getComponentHandler()
Specified by:
getComponentHandler in interface org.jacp.api.component.IRootComponent<org.jacp.api.component.ISubComponent<javafx.event.EventHandler<javafx.event.Event>,javafx.event.Event,java.lang.Object>,org.jacp.api.action.IAction<javafx.event.Event,java.lang.Object>>