cz.cuni.pogamut.shed.presenter
Class ActionPatternPresenter

Package class diagram package ActionPatternPresenter
java.lang.Object
  extended by cz.cuni.pogamut.shed.presenter.ActionPatternPresenter
All Implemented Interfaces:
ILapChainListener, PoshElementListener<ActionPattern>, IPresenter, PropertyChangeListener, EventListener

public class ActionPatternPresenter
extends Object
implements IPresenter, PoshElementListener<ActionPattern>, ILapChainListener

IPresenter for widget representing the ActionPattern. This presenter updates only properties, no children ect.

Author:
Honza H.
See Also:
CompetencePresenter, DrivePresenter

Field Summary
protected  ShedPresenter presenter
          Presenter that is mainly used to modify the scene
protected  ShedScene scene
          Scene this presenter is modifying.
 
Method Summary
protected  TriggeredAction extractAction(List<TriggeredAction> actions, PoshElement action)
           
protected  ActionPattern extractActionPattern(List<ActionPattern> actionPatterns, PoshElement actionPattern)
          Assert that @actionPattern is in the @actionPatterns and return it.
protected  Competence extractCompetence(List<Competence> competences, PoshElement competence)
          Assert that @competence is in the @competences and return it.
protected  DriveElement extractDrive(List<DriveElement> drives, PoshElement drive)
           
protected  CompetenceElement extractChoice(List<CompetenceElement> choices, PoshElement choice)
          Assert that @choice is in the @choices and return it.
protected  Sense extractSense(Trigger<?> trigger, PoshElement sense)
          Assert that sense is a part of the trigger and return it.
 AbstractAcceptAction[] getAcceptProviders()
          Get array of accept providers of this
 org.netbeans.api.visual.action.WidgetAction getEditAction()
          Get edit action that will be invoked upon double click.
 Action[] getMenuActions()
          Get(create) actions that should be displayed in the context menu of the widgets that use this presenter.
protected
<T extends PoshElement>
int
getPosition(List<T> list, T element)
          Get position of the element in the list.
 void childElementAdded(ActionPattern parent, PoshElement child)
           
 void childElementMoved(ActionPattern parent, PoshElement child, int oldIndex, int newIndex)
           
 void childElementRemoved(ActionPattern parent, PoshElement child, int removedChildIndex)
           
protected  boolean isAction(PoshElement element)
           
protected  boolean isActionPattern(PoshElement element)
          Is the element ActionPattern?
protected  boolean isCompetence(PoshElement element)
          Is the element Competence?
protected  boolean isDrive(PoshElement element)
           
protected  boolean isChoice(PoshElement element)
          Is the element CompetenceElement?
protected  boolean isSense(PoshElement element)
          Is passed element a Sense?
 void notifyLinkChanged()
           
 void propertyChange(PropertyChangeEvent evt)
           
 void register()
          Register its listeners into the lap tree.
 void unregister()
          Unregister its listeners that were registered in the IPresenter.register() method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scene

protected final ShedScene scene
Scene this presenter is modifying.


presenter

protected final ShedPresenter presenter
Presenter that is mainly used to modify the scene

Method Detail

register

public void register()
Description copied from interface: IPresenter
Register its listeners into the lap tree. Presenter must react to wide array of events in the tree. E.g. expanded action must listen not only to the name property of the action, but also to all competences and AP in the tree.

Specified by:
register in interface IPresenter

unregister

public void unregister()
Description copied from interface: IPresenter
Unregister its listeners that were registered in the IPresenter.register() method.

Specified by:
unregister in interface IPresenter

getMenuActions

public Action[] getMenuActions()
Description copied from interface: IPresenter
Get(create) actions that should be displayed in the context menu of the widgets that use this presenter.

Specified by:
getMenuActions in interface IPresenter
Returns:
Actions that will be in the menu or null for no menu.

childElementAdded

public void childElementAdded(ActionPattern parent,
                              PoshElement child)
Specified by:
childElementAdded in interface PoshElementListener<ActionPattern>

childElementMoved

public void childElementMoved(ActionPattern parent,
                              PoshElement child,
                              int oldIndex,
                              int newIndex)
Specified by:
childElementMoved in interface PoshElementListener<ActionPattern>

childElementRemoved

public void childElementRemoved(ActionPattern parent,
                                PoshElement child,
                                int removedChildIndex)
Specified by:
childElementRemoved in interface PoshElementListener<ActionPattern>

propertyChange

public void propertyChange(PropertyChangeEvent evt)
Specified by:
propertyChange in interface PropertyChangeListener

getAcceptProviders

public AbstractAcceptAction[] getAcceptProviders()
Description copied from interface: IPresenter
Get array of accept providers of this

Specified by:
getAcceptProviders in interface IPresenter
Returns:
Array of accept providers. If null, no accept provider.

notifyLinkChanged

public void notifyLinkChanged()
Specified by:
notifyLinkChanged in interface ILapChainListener

getEditAction

public org.netbeans.api.visual.action.WidgetAction getEditAction()
Description copied from interface: IPresenter
Get edit action that will be invoked upon double click.

Specified by:
getEditAction in interface IPresenter
Returns:
Edit action for the widget that is being represented. If null, no edit action.

isSense

protected final boolean isSense(PoshElement element)
Is passed element a Sense?

Parameters:
element - element to check.
Returns:
true if element is sense, false if not.

extractSense

protected final Sense extractSense(Trigger<?> trigger,
                                   PoshElement sense)
Assert that sense is a part of the trigger and return it.

Parameters:
trigger - Trigger against which the method is testing.
sense - tested sense
Returns:
properly typed sense

isAction

protected final boolean isAction(PoshElement element)

extractAction

protected final TriggeredAction extractAction(List<TriggeredAction> actions,
                                              PoshElement action)

isDrive

protected final boolean isDrive(PoshElement element)

extractDrive

protected final DriveElement extractDrive(List<DriveElement> drives,
                                          PoshElement drive)

isChoice

protected final boolean isChoice(PoshElement element)
Is the element CompetenceElement?

Parameters:
element - Tested element
Returns:
true if the @element is CompetenceElement or its subclass, false otherwise.

extractChoice

protected final CompetenceElement extractChoice(List<CompetenceElement> choices,
                                                PoshElement choice)
Assert that @choice is in the @choices and return it.

Parameters:
choices - List of choices that must contain the @choice.
choice - Choice must be contained in the @choices
Returns:
Properly casted @choice.

isActionPattern

protected final boolean isActionPattern(PoshElement element)
Is the element ActionPattern?

Parameters:
element - Tested element
Returns:
true if the @element is ActionPattern or its subclass, false otherwise.

extractActionPattern

protected final ActionPattern extractActionPattern(List<ActionPattern> actionPatterns,
                                                   PoshElement actionPattern)
Assert that @actionPattern is in the @actionPatterns and return it. Basically a checked type conversion from PoshElement to ActionPattern.

Parameters:
actionPatterns - List of ActionPatterns that must contain the @actionPattern.
actionPattern - The ActionPattern that must be contained in the @actionPatterns
Returns:
Properly casted @actionPattern.

isCompetence

protected final boolean isCompetence(PoshElement element)
Is the element Competence?

Parameters:
element - Tested element
Returns:
true if the @element is Competence or its subclass, false otherwise.

extractCompetence

protected final Competence extractCompetence(List<Competence> competences,
                                             PoshElement competence)
Assert that @competence is in the @competences and return it. Basically a checked type conversion from PoshElement to Competence.

Parameters:
competences - List of Competences that must contain the
competence - The Competence that must be contained in the
Returns:
Properly casted @competence.

getPosition

protected final <T extends PoshElement> int getPosition(List<T> list,
                                                        T element)
Get position of the element in the list.

Type Parameters:
T - Type of element
Parameters:
list - list in which we determine position of the elemnt.
element - The element for whic we want position in the list. Must be there, otherwise assert error.
Returns:
Found position.


Copyright © 2013 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.