Thu, 17 Jun 2010 16:27:56 -0700
Added tag jdk7-b98 for changeset 3b99409057e4
1 /*
2 * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
26 package org.omg.PortableServer;
29 /**
30 * org/omg/PortableServer/CurrentHelper.java .
31 * Generated by the IDL-to-Java compiler (portable), version "3.1"
32 * from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
33 * Tuesday, October 23, 2001 1:17:01 PM PDT
34 */
37 /**
38 * The PortableServer::Current interface, derived from
39 * CORBA::Current, provides method implementations with
40 * access to the identity of the object on which the
41 * method was invoked. The Current interface is provided
42 * to support servants that implement multiple objects,
43 * but can be used within the context of POA-dispatched
44 * method invocations on any servant. To provide location
45 * transparency, ORBs are required to support use of
46 * Current in the context of both locally and remotely
47 * invoked operations. An instance of Current can be
48 * obtained by the application by issuing the
49 * CORBA::ORB::resolve_initial_references("POACurrent")
50 * operation. Thereafter, it can be used within the
51 * context of a method dispatched by the POA to obtain
52 * the POA and ObjectId that identify the object on
53 * which that operation was invoked.
54 */
55 abstract public class CurrentHelper
56 {
57 private static String _id = "IDL:omg.org/PortableServer/Current:2.3";
59 public static void insert (org.omg.CORBA.Any a,
60 org.omg.PortableServer.Current that)
61 {
62 org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
63 a.type (type ());
64 write (out, that);
65 a.read_value (out.create_input_stream (), type ());
66 }
68 public static org.omg.PortableServer.Current extract (org.omg.CORBA.Any a)
69 {
70 return read (a.create_input_stream ());
71 }
73 private static org.omg.CORBA.TypeCode __typeCode = null;
74 synchronized public static org.omg.CORBA.TypeCode type ()
75 {
76 if (__typeCode == null)
77 {
78 __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (
79 org.omg.PortableServer.CurrentHelper.id (), "Current");
80 }
81 return __typeCode;
82 }
84 public static String id ()
85 {
86 return _id;
87 }
89 public static org.omg.PortableServer.Current read (
90 org.omg.CORBA.portable.InputStream istream)
91 {
92 throw new org.omg.CORBA.MARSHAL ();
93 }
95 public static void write (org.omg.CORBA.portable.OutputStream ostream,
96 org.omg.PortableServer.Current value)
97 {
98 throw new org.omg.CORBA.MARSHAL ();
99 }
101 public static org.omg.PortableServer.Current narrow (
102 org.omg.CORBA.Object obj)
103 {
104 if (obj == null)
105 return null;
106 else if (obj instanceof org.omg.PortableServer.Current)
107 return (org.omg.PortableServer.Current)obj;
108 else if (!obj._is_a (id ()))
109 throw new org.omg.CORBA.BAD_PARAM ();
110 return null;
111 }
113 }