<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
 
 Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.  Oracle designates this
 particular file as subject to the "Classpath" exception as provided
 by Oracle in the LICENSE file that accompanied this code.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.


-->

</head>
<body bgcolor="white">
<P> Provides method implementations with 
 access to the identity of the object on which the 
 method was invoked. The <code>Current</code> package
 supports servants that implement multiple objects, 
 but can be used within the context of POA-dispatched 
 method invocations on any servant. To provide location 
 transparency, ORBs are required to support use of 
 <code>Current</code> in the context of both locally and remotely 
 invoked operations. An instance of <code>Current</code> can be 
 obtained by the application by issuing the 
 <code>CORBA::ORB::resolve_initial_references("POACurrent")</code> 
 operation. Thereafter, it can be used within the 
 context of a method dispatched by the POA to obtain 
 the <code>POA</code> and <code>ObjectId</code> that identify the object on 
 which that operation was invoked.

<H3>Package Specification</H3>
 
<P>For a precise list of supported sections of official specifications with which 
the Java[tm] Platform, Standard Edition 6 ORB complies, see <A 
HREF="../../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
support in Java[tm] SE 6</A>.
<p>
@since 1.4
<br>
@serial exclude
</body>
</html>
