corba/src/java.corba/share/classes/org/omg/CORBA/Object.java
author avstepan
Wed, 08 Apr 2015 16:01:26 +0400
changeset 29827 aac4782e69ac
parent 25862 a5e25d68f971
permissions -rw-r--r--
8039440: Tidy warnings cleanup for org/omg Summary: some HTML markup fixes for CORBA Reviewed-by: yan, rriggs, lancea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
02bb8761fcce Initial load
duke
parents:
diff changeset
     1
/*
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
     2
 * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
02bb8761fcce Initial load
duke
parents:
diff changeset
     4
 *
02bb8761fcce Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
02bb8761fcce Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5555
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
4
02bb8761fcce Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5555
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    10
 *
02bb8761fcce Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
02bb8761fcce Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
02bb8761fcce Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
02bb8761fcce Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
02bb8761fcce Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
02bb8761fcce Initial load
duke
parents:
diff changeset
    16
 *
02bb8761fcce Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
02bb8761fcce Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
02bb8761fcce Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
02bb8761fcce Initial load
duke
parents:
diff changeset
    20
 *
5555
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
b2b5ed3f0d0d 6943119: Rebrand source copyright notices
ohair
parents: 4
diff changeset
    23
 * questions.
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    24
 */
02bb8761fcce Initial load
duke
parents:
diff changeset
    25
02bb8761fcce Initial load
duke
parents:
diff changeset
    26
package org.omg.CORBA;
02bb8761fcce Initial load
duke
parents:
diff changeset
    27
02bb8761fcce Initial load
duke
parents:
diff changeset
    28
/**
02bb8761fcce Initial load
duke
parents:
diff changeset
    29
 * The definition for a CORBA object reference.
02bb8761fcce Initial load
duke
parents:
diff changeset
    30
 * <p>
02bb8761fcce Initial load
duke
parents:
diff changeset
    31
 * A CORBA object reference is a handle for a particular
02bb8761fcce Initial load
duke
parents:
diff changeset
    32
 * CORBA object implemented by a server. A CORBA object reference
02bb8761fcce Initial load
duke
parents:
diff changeset
    33
 * identifies the same CORBA object each time the reference is used to invoke
02bb8761fcce Initial load
duke
parents:
diff changeset
    34
 * a method on the object.
02bb8761fcce Initial load
duke
parents:
diff changeset
    35
 * A CORBA object may have multiple, distinct object references.
02bb8761fcce Initial load
duke
parents:
diff changeset
    36
 * <p>
02bb8761fcce Initial load
duke
parents:
diff changeset
    37
 * The <code>org.omg.CORBA.Object</code> interface is the root of
02bb8761fcce Initial load
duke
parents:
diff changeset
    38
 * the inheritance hierarchy for all CORBA object references in the Java
02bb8761fcce Initial load
duke
parents:
diff changeset
    39
 * programming language, analogous to <code>java.rmi.Remote</code>
02bb8761fcce Initial load
duke
parents:
diff changeset
    40
 * for RMI remote objects.
02bb8761fcce Initial load
duke
parents:
diff changeset
    41
 * <p>
02bb8761fcce Initial load
duke
parents:
diff changeset
    42
 * A CORBA object may be either local or remote.
02bb8761fcce Initial load
duke
parents:
diff changeset
    43
 * If it is a local object (that is, running in the same
02bb8761fcce Initial load
duke
parents:
diff changeset
    44
 * VM as the client), invocations may be directly serviced by
02bb8761fcce Initial load
duke
parents:
diff changeset
    45
 * the object instance, and the object reference could point to the actual
02bb8761fcce Initial load
duke
parents:
diff changeset
    46
 * instance of the object implementation class.
02bb8761fcce Initial load
duke
parents:
diff changeset
    47
 * If a CORBA object is a remote object (that is, running in a different
02bb8761fcce Initial load
duke
parents:
diff changeset
    48
 * VM from the client), the object reference points to a stub (proxy) which uses the
02bb8761fcce Initial load
duke
parents:
diff changeset
    49
 * ORB machinery to make a remote invocation on the server where the object
02bb8761fcce Initial load
duke
parents:
diff changeset
    50
 * implementation resides.
02bb8761fcce Initial load
duke
parents:
diff changeset
    51
 * <p>
02bb8761fcce Initial load
duke
parents:
diff changeset
    52
 * Default implementations of the methods in the interface
02bb8761fcce Initial load
duke
parents:
diff changeset
    53
 * <code>org.omg.CORBA.Object</code>
02bb8761fcce Initial load
duke
parents:
diff changeset
    54
 * are provided in the class <code>org.omg.CORBA.portable.ObjectImpl</code>,
02bb8761fcce Initial load
duke
parents:
diff changeset
    55
 * which is the base class for stubs and object implementations.
29827
aac4782e69ac 8039440: Tidy warnings cleanup for org/omg
avstepan
parents: 25862
diff changeset
    56
 *
4
02bb8761fcce Initial load
duke
parents:
diff changeset
    57
 * @see org.omg.CORBA.portable.ObjectImpl
02bb8761fcce Initial load
duke
parents:
diff changeset
    58
 */
02bb8761fcce Initial load
duke
parents:
diff changeset
    59
02bb8761fcce Initial load
duke
parents:
diff changeset
    60
public interface Object {
02bb8761fcce Initial load
duke
parents:
diff changeset
    61
02bb8761fcce Initial load
duke
parents:
diff changeset
    62
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
    63
     * Checks whether this object is an instance of a class that
02bb8761fcce Initial load
duke
parents:
diff changeset
    64
     * implements the given interface.
02bb8761fcce Initial load
duke
parents:
diff changeset
    65
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
    66
     * @param repositoryIdentifier the interface to check against
02bb8761fcce Initial load
duke
parents:
diff changeset
    67
     * @return <code>true</code> if this object reference is an instance
02bb8761fcce Initial load
duke
parents:
diff changeset
    68
     *         of a class that implements the interface;
02bb8761fcce Initial load
duke
parents:
diff changeset
    69
     *         <code>false</code> otherwise
02bb8761fcce Initial load
duke
parents:
diff changeset
    70
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
    71
    boolean _is_a(String repositoryIdentifier);
02bb8761fcce Initial load
duke
parents:
diff changeset
    72
02bb8761fcce Initial load
duke
parents:
diff changeset
    73
02bb8761fcce Initial load
duke
parents:
diff changeset
    74
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
    75
     * Determines whether the two object references are equivalent,
02bb8761fcce Initial load
duke
parents:
diff changeset
    76
     * so far as the ORB can easily determine. Two object references are equivalent
02bb8761fcce Initial load
duke
parents:
diff changeset
    77
     * if they are identical. Two distinct object references which in fact refer to
02bb8761fcce Initial load
duke
parents:
diff changeset
    78
     * the same object are also equivalent. However, ORBs are not required
02bb8761fcce Initial load
duke
parents:
diff changeset
    79
     * to attempt determination of whether two distinct object references
02bb8761fcce Initial load
duke
parents:
diff changeset
    80
     * refer to the same object, since such determination could be impractically
02bb8761fcce Initial load
duke
parents:
diff changeset
    81
     * expensive.
02bb8761fcce Initial load
duke
parents:
diff changeset
    82
     * @param other the other object reference with which to check for equivalence
02bb8761fcce Initial load
duke
parents:
diff changeset
    83
     * @return <code>true</code> if this object reference is known to be
02bb8761fcce Initial load
duke
parents:
diff changeset
    84
     *         equivalent to the given object reference.
02bb8761fcce Initial load
duke
parents:
diff changeset
    85
     *         Note that <code>false</code> indicates only that the two
02bb8761fcce Initial load
duke
parents:
diff changeset
    86
     *         object references are distinct, not necessarily that
02bb8761fcce Initial load
duke
parents:
diff changeset
    87
     *         they reference distinct objects.
02bb8761fcce Initial load
duke
parents:
diff changeset
    88
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
    89
    boolean _is_equivalent(org.omg.CORBA.Object other);
02bb8761fcce Initial load
duke
parents:
diff changeset
    90
02bb8761fcce Initial load
duke
parents:
diff changeset
    91
02bb8761fcce Initial load
duke
parents:
diff changeset
    92
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
    93
     * Determines whether the server object for this object reference has been
02bb8761fcce Initial load
duke
parents:
diff changeset
    94
     * destroyed.
02bb8761fcce Initial load
duke
parents:
diff changeset
    95
     * @return <code>true</code> if the ORB knows authoritatively that the
02bb8761fcce Initial load
duke
parents:
diff changeset
    96
     *         server object does not exist; <code>false</code> otherwise
02bb8761fcce Initial load
duke
parents:
diff changeset
    97
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
    98
    boolean _non_existent();
02bb8761fcce Initial load
duke
parents:
diff changeset
    99
02bb8761fcce Initial load
duke
parents:
diff changeset
   100
02bb8761fcce Initial load
duke
parents:
diff changeset
   101
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   102
     * Returns an ORB-internal identifier for this object reference.
02bb8761fcce Initial load
duke
parents:
diff changeset
   103
     * This is a hash identifier, which does
02bb8761fcce Initial load
duke
parents:
diff changeset
   104
     * not change during the lifetime of the object reference, and so
02bb8761fcce Initial load
duke
parents:
diff changeset
   105
     * neither will any hash function of that identifier change. The value returned
02bb8761fcce Initial load
duke
parents:
diff changeset
   106
     * is not guaranteed to be unique; in other words, another object
02bb8761fcce Initial load
duke
parents:
diff changeset
   107
     * reference may have the same hash value.
02bb8761fcce Initial load
duke
parents:
diff changeset
   108
     * If two object references hash differently,
02bb8761fcce Initial load
duke
parents:
diff changeset
   109
     * then they are distinct object references; however, both may still refer
02bb8761fcce Initial load
duke
parents:
diff changeset
   110
     * to the same CORBA object.
02bb8761fcce Initial load
duke
parents:
diff changeset
   111
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   112
     * @param maximum the upper bound on the hash value returned by the ORB
02bb8761fcce Initial load
duke
parents:
diff changeset
   113
     * @return the ORB-internal hash identifier for this object reference
02bb8761fcce Initial load
duke
parents:
diff changeset
   114
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   115
    int _hash(int maximum);
02bb8761fcce Initial load
duke
parents:
diff changeset
   116
02bb8761fcce Initial load
duke
parents:
diff changeset
   117
02bb8761fcce Initial load
duke
parents:
diff changeset
   118
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   119
     * Returns a duplicate of this CORBA object reference.
02bb8761fcce Initial load
duke
parents:
diff changeset
   120
     * The server object implementation is not involved in creating
02bb8761fcce Initial load
duke
parents:
diff changeset
   121
     * the duplicate, and the implementation cannot distinguish whether
02bb8761fcce Initial load
duke
parents:
diff changeset
   122
     * the original object reference or a duplicate was used to make a request.
02bb8761fcce Initial load
duke
parents:
diff changeset
   123
     * <P>
02bb8761fcce Initial load
duke
parents:
diff changeset
   124
     * Note that this method is not very useful in the Java platform,
02bb8761fcce Initial load
duke
parents:
diff changeset
   125
     * since memory management is handled by the VM.
02bb8761fcce Initial load
duke
parents:
diff changeset
   126
     * It is included for compliance with the CORBA APIs.
02bb8761fcce Initial load
duke
parents:
diff changeset
   127
     * <P>
02bb8761fcce Initial load
duke
parents:
diff changeset
   128
     * The method <code>_duplicate</code> may return this object reference itself.
02bb8761fcce Initial load
duke
parents:
diff changeset
   129
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   130
     * @return a duplicate of this object reference or this object reference
02bb8761fcce Initial load
duke
parents:
diff changeset
   131
     *         itself
02bb8761fcce Initial load
duke
parents:
diff changeset
   132
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   133
    org.omg.CORBA.Object _duplicate();
02bb8761fcce Initial load
duke
parents:
diff changeset
   134
02bb8761fcce Initial load
duke
parents:
diff changeset
   135
02bb8761fcce Initial load
duke
parents:
diff changeset
   136
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   137
     * Signals that the caller is done using this object reference, so
02bb8761fcce Initial load
duke
parents:
diff changeset
   138
     * internal ORB resources associated with this object reference can be
02bb8761fcce Initial load
duke
parents:
diff changeset
   139
     * released. Note that the object implementation is not involved in
02bb8761fcce Initial load
duke
parents:
diff changeset
   140
     * this operation, and other references to the same object are not affected.
02bb8761fcce Initial load
duke
parents:
diff changeset
   141
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   142
    void _release();
02bb8761fcce Initial load
duke
parents:
diff changeset
   143
02bb8761fcce Initial load
duke
parents:
diff changeset
   144
02bb8761fcce Initial load
duke
parents:
diff changeset
   145
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   146
     * Obtains an <code>InterfaceDef</code> for the object implementation
02bb8761fcce Initial load
duke
parents:
diff changeset
   147
     * referenced by this object reference.
02bb8761fcce Initial load
duke
parents:
diff changeset
   148
     * The <code>InterfaceDef</code> object
02bb8761fcce Initial load
duke
parents:
diff changeset
   149
     * may be used to introspect on the methods, attributes, and other
02bb8761fcce Initial load
duke
parents:
diff changeset
   150
     * type information for the object referred to by this object reference.
02bb8761fcce Initial load
duke
parents:
diff changeset
   151
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   152
     * @return the <code>InterfaceDef</code> object in the Interface Repository
02bb8761fcce Initial load
duke
parents:
diff changeset
   153
     *         which provides type information about the object referred to by
02bb8761fcce Initial load
duke
parents:
diff changeset
   154
     *         this object reference
02bb8761fcce Initial load
duke
parents:
diff changeset
   155
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   156
    org.omg.CORBA.Object _get_interface_def();
02bb8761fcce Initial load
duke
parents:
diff changeset
   157
02bb8761fcce Initial load
duke
parents:
diff changeset
   158
02bb8761fcce Initial load
duke
parents:
diff changeset
   159
02bb8761fcce Initial load
duke
parents:
diff changeset
   160
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   161
     * Creates a <code>Request</code> instance for use in the
02bb8761fcce Initial load
duke
parents:
diff changeset
   162
     * Dynamic Invocation Interface.
02bb8761fcce Initial load
duke
parents:
diff changeset
   163
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   164
     * @param operation  the name of the method to be invoked using the
02bb8761fcce Initial load
duke
parents:
diff changeset
   165
     *                        <code>Request</code> instance
02bb8761fcce Initial load
duke
parents:
diff changeset
   166
     * @return the newly-created <code>Request</code> instance
02bb8761fcce Initial load
duke
parents:
diff changeset
   167
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   168
    Request _request(String operation);
02bb8761fcce Initial load
duke
parents:
diff changeset
   169
02bb8761fcce Initial load
duke
parents:
diff changeset
   170
02bb8761fcce Initial load
duke
parents:
diff changeset
   171
02bb8761fcce Initial load
duke
parents:
diff changeset
   172
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   173
     * Creates a <code>Request</code> instance initialized with the
02bb8761fcce Initial load
duke
parents:
diff changeset
   174
     * given context, method name, list of arguments, and container
02bb8761fcce Initial load
duke
parents:
diff changeset
   175
     * for the method's return value.
02bb8761fcce Initial load
duke
parents:
diff changeset
   176
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   177
     * @param ctx                       a <code>Context</code> object containing
02bb8761fcce Initial load
duke
parents:
diff changeset
   178
     *                     a list of properties
02bb8761fcce Initial load
duke
parents:
diff changeset
   179
     * @param operation    the name of the method to be invoked
02bb8761fcce Initial load
duke
parents:
diff changeset
   180
     * @param arg_list          an <code>NVList</code> containing the actual arguments
02bb8761fcce Initial load
duke
parents:
diff changeset
   181
     *                     to the method being invoked
02bb8761fcce Initial load
duke
parents:
diff changeset
   182
     * @param result            a <code>NamedValue</code> object to serve as a
02bb8761fcce Initial load
duke
parents:
diff changeset
   183
     *                     container for the method's return value
02bb8761fcce Initial load
duke
parents:
diff changeset
   184
     * @return                  the newly-created <code>Request</code> object
02bb8761fcce Initial load
duke
parents:
diff changeset
   185
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   186
     * @see Request
02bb8761fcce Initial load
duke
parents:
diff changeset
   187
     * @see NVList
02bb8761fcce Initial load
duke
parents:
diff changeset
   188
     * @see NamedValue
02bb8761fcce Initial load
duke
parents:
diff changeset
   189
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   190
02bb8761fcce Initial load
duke
parents:
diff changeset
   191
    Request _create_request(Context ctx,
02bb8761fcce Initial load
duke
parents:
diff changeset
   192
                            String operation,
02bb8761fcce Initial load
duke
parents:
diff changeset
   193
                            NVList arg_list,
02bb8761fcce Initial load
duke
parents:
diff changeset
   194
                            NamedValue result);
02bb8761fcce Initial load
duke
parents:
diff changeset
   195
02bb8761fcce Initial load
duke
parents:
diff changeset
   196
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   197
     * Creates a <code>Request</code> instance initialized with the
02bb8761fcce Initial load
duke
parents:
diff changeset
   198
     * given context, method name, list of arguments, container
02bb8761fcce Initial load
duke
parents:
diff changeset
   199
     * for the method's return value, list of possible exceptions,
02bb8761fcce Initial load
duke
parents:
diff changeset
   200
     * and list of context strings needing to be resolved.
02bb8761fcce Initial load
duke
parents:
diff changeset
   201
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   202
     * @param ctx                       a <code>Context</code> object containing
02bb8761fcce Initial load
duke
parents:
diff changeset
   203
     *                     a list of properties
02bb8761fcce Initial load
duke
parents:
diff changeset
   204
     * @param operation    the name of the method to be invoked
02bb8761fcce Initial load
duke
parents:
diff changeset
   205
     * @param arg_list          an <code>NVList</code> containing the actual arguments
02bb8761fcce Initial load
duke
parents:
diff changeset
   206
     *                     to the method being invoked
02bb8761fcce Initial load
duke
parents:
diff changeset
   207
     * @param result            a <code>NamedValue</code> object to serve as a
02bb8761fcce Initial load
duke
parents:
diff changeset
   208
     *                     container for the method's return value
02bb8761fcce Initial load
duke
parents:
diff changeset
   209
     * @param exclist           an <code>ExceptionList</code> object containing a
02bb8761fcce Initial load
duke
parents:
diff changeset
   210
     *                     list of possible exceptions the method can throw
02bb8761fcce Initial load
duke
parents:
diff changeset
   211
     * @param ctxlist           a <code>ContextList</code> object containing a list of
02bb8761fcce Initial load
duke
parents:
diff changeset
   212
     *                     context strings that need to be resolved and sent with the
02bb8761fcce Initial load
duke
parents:
diff changeset
   213
     *                          <code>Request</code> instance
02bb8761fcce Initial load
duke
parents:
diff changeset
   214
     * @return                  the newly-created <code>Request</code> object
02bb8761fcce Initial load
duke
parents:
diff changeset
   215
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   216
     * @see Request
02bb8761fcce Initial load
duke
parents:
diff changeset
   217
     * @see NVList
02bb8761fcce Initial load
duke
parents:
diff changeset
   218
     * @see NamedValue
02bb8761fcce Initial load
duke
parents:
diff changeset
   219
     * @see ExceptionList
02bb8761fcce Initial load
duke
parents:
diff changeset
   220
     * @see ContextList
02bb8761fcce Initial load
duke
parents:
diff changeset
   221
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   222
02bb8761fcce Initial load
duke
parents:
diff changeset
   223
    Request _create_request(Context ctx,
02bb8761fcce Initial load
duke
parents:
diff changeset
   224
                            String operation,
02bb8761fcce Initial load
duke
parents:
diff changeset
   225
                            NVList arg_list,
02bb8761fcce Initial load
duke
parents:
diff changeset
   226
                            NamedValue result,
02bb8761fcce Initial load
duke
parents:
diff changeset
   227
                            ExceptionList exclist,
02bb8761fcce Initial load
duke
parents:
diff changeset
   228
                            ContextList ctxlist);
02bb8761fcce Initial load
duke
parents:
diff changeset
   229
02bb8761fcce Initial load
duke
parents:
diff changeset
   230
02bb8761fcce Initial load
duke
parents:
diff changeset
   231
02bb8761fcce Initial load
duke
parents:
diff changeset
   232
02bb8761fcce Initial load
duke
parents:
diff changeset
   233
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   234
     * Returns the <code>Policy</code> object of the specified type
02bb8761fcce Initial load
duke
parents:
diff changeset
   235
     * which applies to this object.
02bb8761fcce Initial load
duke
parents:
diff changeset
   236
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   237
     * @param policy_type the type of policy to be obtained
02bb8761fcce Initial load
duke
parents:
diff changeset
   238
     * @return A <code>Policy</code> object of the type specified by
02bb8761fcce Initial load
duke
parents:
diff changeset
   239
     *         the policy_type parameter
02bb8761fcce Initial load
duke
parents:
diff changeset
   240
     * @exception org.omg.CORBA.BAD_PARAM when the value of policy type
02bb8761fcce Initial load
duke
parents:
diff changeset
   241
     * is not valid either because the specified type is not supported by this
02bb8761fcce Initial load
duke
parents:
diff changeset
   242
     * ORB or because a policy object of that type is not associated with this
02bb8761fcce Initial load
duke
parents:
diff changeset
   243
     * Object
02bb8761fcce Initial load
duke
parents:
diff changeset
   244
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   245
    Policy _get_policy(int policy_type);
02bb8761fcce Initial load
duke
parents:
diff changeset
   246
02bb8761fcce Initial load
duke
parents:
diff changeset
   247
02bb8761fcce Initial load
duke
parents:
diff changeset
   248
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   249
     * Retrieves the <code>DomainManagers</code> of this object.
02bb8761fcce Initial load
duke
parents:
diff changeset
   250
     * This allows administration services (and applications) to retrieve the
02bb8761fcce Initial load
duke
parents:
diff changeset
   251
     * domain managers, and hence the security and other policies applicable
02bb8761fcce Initial load
duke
parents:
diff changeset
   252
     * to individual objects that are members of the domain.
02bb8761fcce Initial load
duke
parents:
diff changeset
   253
     *
02bb8761fcce Initial load
duke
parents:
diff changeset
   254
     * @return the list of immediately enclosing domain managers of this object.
02bb8761fcce Initial load
duke
parents:
diff changeset
   255
     *  At least one domain manager is always returned in the list since by
02bb8761fcce Initial load
duke
parents:
diff changeset
   256
     * default each object is associated with at least one domain manager at
02bb8761fcce Initial load
duke
parents:
diff changeset
   257
     * creation.
02bb8761fcce Initial load
duke
parents:
diff changeset
   258
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   259
    DomainManager[] _get_domain_managers();
02bb8761fcce Initial load
duke
parents:
diff changeset
   260
02bb8761fcce Initial load
duke
parents:
diff changeset
   261
02bb8761fcce Initial load
duke
parents:
diff changeset
   262
    /**
02bb8761fcce Initial load
duke
parents:
diff changeset
   263
     * Returns a new <code>Object</code> with the given policies
02bb8761fcce Initial load
duke
parents:
diff changeset
   264
         * either replacing any existing policies in this
02bb8761fcce Initial load
duke
parents:
diff changeset
   265
         * <code>Object</code> or with the given policies added
02bb8761fcce Initial load
duke
parents:
diff changeset
   266
         * to the existing ones, depending on the value of the
02bb8761fcce Initial load
duke
parents:
diff changeset
   267
         * given <code>SetOverrideType</code> object.
02bb8761fcce Initial load
duke
parents:
diff changeset
   268
         *
02bb8761fcce Initial load
duke
parents:
diff changeset
   269
         * @param policies an array of <code>Policy</code> objects containing
02bb8761fcce Initial load
duke
parents:
diff changeset
   270
         *                 the policies to be added or to be used as replacements
02bb8761fcce Initial load
duke
parents:
diff changeset
   271
         * @param set_add either <code>SetOverrideType.SET_OVERRIDE</code>, indicating
02bb8761fcce Initial load
duke
parents:
diff changeset
   272
         *                that the given policies will replace any existing ones, or
02bb8761fcce Initial load
duke
parents:
diff changeset
   273
         *                <code>SetOverrideType.ADD_OVERRIDE</code>, indicating that
02bb8761fcce Initial load
duke
parents:
diff changeset
   274
         *                the given policies should be added to any existing ones
02bb8761fcce Initial load
duke
parents:
diff changeset
   275
         * @return a new <code>Object</code> with the given policies replacing
02bb8761fcce Initial load
duke
parents:
diff changeset
   276
         *         or added to those in this <code>Object</code>
02bb8761fcce Initial load
duke
parents:
diff changeset
   277
     */
02bb8761fcce Initial load
duke
parents:
diff changeset
   278
    org.omg.CORBA.Object _set_policy_override(Policy[] policies,
02bb8761fcce Initial load
duke
parents:
diff changeset
   279
                                              SetOverrideType set_add);
02bb8761fcce Initial load
duke
parents:
diff changeset
   280
02bb8761fcce Initial load
duke
parents:
diff changeset
   281
02bb8761fcce Initial load
duke
parents:
diff changeset
   282
}