oracle.ide.addin
Interface Controller
- All Known Subinterfaces:
- DockStation, EditorManager, LogManager, PrintManager
- All Known Implementing Classes:
- AbstractLogManager, BaseController, ChainedController, Ide, JCompiler, JProjectStructureController, LayoutController, WizardManager
- public interface Controller
Each View
has an associated Controller
.
Controllers receive requests to handle the commands associated with user
actions.
The controller's handleEvent
method gets called
with the appropriate Command
specified. If the
Controller
does not handle the requested command it delegates
the Command
to a supervising Controller
.
Controllers are also responsible for determining the availability of a
specific command. The update
method is called to do just that.
- See Also:
oracle.jdeveloper.ide.Command
,
oracle.jdeveloper.ide.IdeAction
,
oracle.jdeveloper.ide.View
Method Summary |
void |
checkCommands(Context context,
Controller activeController)
checkCommands() should be called on the controller associated with the
active view whenever the Context changes. |
boolean |
handleEvent(IdeAction action,
Context context)
This method is called when a user interaction with a View
triggers the execution of a command. |
Controller |
supervisor()
Gets the supervising controller |
boolean |
update(IdeAction action,
Context context)
This method updates the enabled status of the specified action within the
specified context. |
supervisor
public Controller supervisor()
- Gets the supervising controller
- Returns:
- the supervising controller.
handleEvent
public boolean handleEvent(IdeAction action,
Context context)
- This method is called when a user interaction with a
View
triggers the execution of a command.
- Parameters:
action
- action whose command is to be executed.
- Returns:
- true if the controller handles the specified command.
update
public boolean update(IdeAction action,
Context context)
- This method updates the enabled status of the specified action within the
specified context. It should generally be called on the controller
associated with the active view to allow that controller to take the
first crack at determining its enabled status. If that controller
wants to update its enabled status, it does so and returns true to
indicate that further controllers do not need to be consulted. If the
controller does not deal with setting the enabled status of an action,
it delegates the request to its supervising controller, all the way up
to the Ide. The Ide has a special implementation of update(xx) that
further delegates the request to root controllers, until one of them
returns true indicating the request was handled by the controller.
Note that checkCommands() uses a non-overlapping upwards delegation
model to update the enabled status of all actions, whereas update()
provides a 'virtual-like' mechanism for allowing the most-specific
controllers to determine the enabled status of each action being
checked.
- Parameters:
action
- action whose command is to be executed.context
- the current context
- Returns:
- true if the controller handles the specified command.
checkCommands
public void checkCommands(Context context,
Controller activeController)
- checkCommands() should be called on the controller associated with the
active view whenever the Context changes. The method gives the
controller a chance to assign the enabled/disabled status of each of
the context-sensitive Actions it owns. Calling this method on the
active controller should cause all context-sensitive Actions owned by
this controller and its supervisor's to be updated. No two
controllers should attempt to update the status of the same action or
else we would have redundant checking, which we want to avoid.
checkCommands() should end by calling supervisor().checkCommands() to
make sure actions dealt with by higher-level controllers get updated
as well. This method is implemented by BaseController to call
checkCommands() on the Ide itself.
Note that the only context-sensitive Actions should be updated inside
a checkCommands() method.
Updating the enabled/disabled state of an action is handled by the
update() command.
- Parameters:
context
- the current context. Null values are acceptable.activeController
- the controller associated with the active view.
Null values are acceptable.
Copyright ©1997, 2003, Oracle. All rights reserved.