ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzakx_5.4.0.1/rzakxjavacntrolflow.htm

72 lines
5.9 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2005" />
<meta name="DC.rights.owner" content="(C) Copyright IBM Corporation 2005" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="iSeries Navigator structure and flow of control for Java plug-ins" />
<meta name="abstract" content="For Java plug-ins, iSeries Navigator provides a built-in ActiveX server that manages the communication between the Navigator and the plug-in's Java classes." />
<meta name="description" content="For Java plug-ins, iSeries Navigator provides a built-in ActiveX server that manages the communication between the Navigator and the plug-in's Java classes." />
<meta name="DC.Relation" scheme="URI" content="rzakxpluginjava.htm" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzakxjavacntrolflow" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>iSeries Navigator structure and flow of control for Java plug-ins</title>
</head>
<body id="rzakxjavacntrolflow"><a name="rzakxjavacntrolflow"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">iSeries Navigator structure and flow of control for Java plug-ins</h1>
<div><p>For Java™ plug-ins, iSeries™ Navigator
provides a built-in ActiveX server that manages the communication between the Navigator and the plug-in's Java classes.</p>
<p>The server component uses the Java Native Interface (JNI) API to create the plug-in's objects and to call their
methods. Thus, Java programmers who are developing iSeries Navigator plug-ins do not need to be concerned with the details of ActiveX server implementation.</p>
<p>When a user is interacting with iSeries Navigator Java plug-ins,
calls will be generated to the different registered Java interface classes for the implementation of the specific
request.</p>
<p>Plug-ins work by responding to method calls from iSeries Navigator that are generated in response to user actions. For
example, when a user right-clicks on an object in the Navigator hierarchy, the Navigator constructs a context menu for the object, and displays the menu on the screen. The Navigator obtains the menu items
by calling each plug-in that has registered its intent to supply context menu items for the selected object type.</p>
<p>The functions that are implemented by a plug-in logically are grouped into "interfaces." An interface is a set of logically related methods on a class that iSeries Navigator can call to perform a specific function. For Java plug-ins, the
following three <span class="uicontrol">Java interfaces</span> are defined:</p>
<ul><li>ListManager</li>
<li>ActionsManager</li>
<li>DropTargetManager</li>
</ul>
<dl><dt class="dlterm">Product architecture for iSeries Navigator plug-ins</dt>
<dd><p><strong>The internal architecture of the iSeries Navigator product reflects that it is intended to serve as an integration
point for an extensible, broad-based operations interface for the iSeries server. Each functional component of the interface
is packaged as an ActiveX server. The Navigator learns about the existence of a particular server component by means of entries in the Windows<sup>®</sup> registry. Multiple servers may register their request to add menu items and dialogs to a given object type in the Navigator hierarchy.</strong></p>
<div class="note"><span class="notetitle">Note:</span> <strong>For third-party Java plug-ins to be available to iSeries Navigator
users, iSeries Access for Windows users
must have Version 4 Release 4 Modification Level 0 of iSeries Access for Windows installed on their personal computers.</strong></div>
</dd>
<dt class="dlterm">iSeries Navigator data for Java plug-ins</dt>
<dd> <p>When the Navigator calls a function implemented by a plug-in, the request typically involves an object or objects the user selected in the main Navigator window. The plug-in must be able to determine
which objects have been selected. The plug-in receives this information as a list of fully-qualified object names. For Java plug-ins,
an ObjectName class is defined that provides information about the selected objects. Plug-ins that add folders to the object hierarchy must return items in the folder to iSeries Navigator in the form of "item identifiers." For Java plug-ins, an ItemIdentifier
class is defined that is used by the plug-in to return the requested information.</p>
<p>An iSeries Navigator plug-in sometimes
will need to affect the behavior of the main Navigator window. For example, following completion of a user operation, it may be necessary to refresh the Navigator list view or to insert text into the Navigator's
status area. Utility classes are supplied in the package com.ibm.as400.opnav that provide the required services.</p>
</dd>
</dl>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakxpluginjava.htm" title="Use the following topics to learn about the flow of control in iSeries Navigator for Java.">Java Reference</a></div>
</div>
</div>
</body>
</html>