--- old/src/java.corba/share/classes/org/omg/CORBA/Context.java 2018-01-30 20:26:45.000000000 -0500 +++ /dev/null 2018-01-30 20:26:45.000000000 -0500 @@ -1,244 +0,0 @@ -/* - * Copyright (c) 1996, 2000, 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. - */ - -package org.omg.CORBA; - -/** - * An object used in Request operations - * to specify the context object in which context strings - * must be resolved before being sent along with the request invocation. - * A Context object - * contains a list of properties in the form of NamedValue - * objects. These properties represent information - * about the client, the environment, or the circumstances of a request - * and generally are properties that might be inconvenient - * to pass as parameters. - *

- * A Context object is created by first calling the - * ORB method get_default_context - * and then calling the method create_child on the - * default context. - *

- * Each property in a Context object is represented by - * a NamedValue object. The property name is contained - * in the NamedValue object's name field, and - * the value associated with the name is contained in the Any - * object that was assigned to the NamedValue object's - * value field. - *

- * Context properties can represent a portion of a client's - * or application's environment that is meant to be propagated to - * (and made implicitly part of) a server's environment. - * (Examples might be a window identifier or user preference information). - * Once a server has been invoked (that is, after the properties are - * propagated), the server may query its Context object - * for these properties using the method get_values. - * - *

- * When an operation declaration includes a context clause, - * the stubs and skeletons will have an additional argument - * added for the context. When an operation invocation occurs, - * the ORB causes the properties that were named in the operation - * definition in IDL and - * that are present in the client's Context object - * to be provided in the Context object parameter to - * the invoked method. - *

- * Context property names (which are strings) - * typically have the form of an OMG IDL identifier or - * a series of OMG IDL identifiers separated by periods. - * A context property name pattern is either a property name - * or a property name followed by a single "*". A property - * name pattern without a trailing "*" is said to match only - * itself. A property name pattern of the form "<name>*" matches any - * property name that starts with <name> and continues with zero - * or more additional characters. - *

- * Property name patterns are used in the context clause of - * an operation definition and as a parameter for the - * method Context.get_values. - *

- * Context objects may be "chained" together to achieve a - * particular defaulting behavior. A Context - * object created with the method create_child will - * be chained to its parent (the Context object - * that created it), and that means that the parent will be searched - * after the child in a search for property names. - *

- * Properties defined in a particular Context object - * effectively override those properties in the next higher level. - * The scope used in a search for properties may be restricted by specifying a - * starting scope and by using the flag CTX_RESTRICT_SCOPE - * when invoking the method get_values. - *

- * A Context object may be named for purposes of specifying - * a starting search scope. - * - * @since JDK1.2 - */ - -public abstract class Context { - - /** - * Retrieves the name of this Context object. - * - * @return the name of this Context object - */ - - public abstract String context_name(); - - - /** - * Retrieves the parent of this Context object. - * - * @return the Context object that is the - * parent of this Context object - */ - - public abstract Context parent(); - - /** - * Creates a Context object with the given string as its - * name and with this Context object set as its parent. - *

- * The new Context object is chained into its parent - * Context object. This means that in a search for - * matching property names, if a match is not found in this context, - * the search will continue in the parent. If that is not successful, - * the search will continue in the grandparent, if there is one, and - * so on. - * - * - * @param child_ctx_name the String object to be set as - * the name of the new Context object - * @return the newly-created child Context object - * initialized with the specified name - */ - - public abstract Context create_child(String child_ctx_name); - - /** - * Creates a NamedValue object and adds it to this - * Context object. The name field of the - * new NamedValue object is set to the given string, - * the value field is set to the given Any - * object, and the flags field is set to zero. - * - * @param propname the name of the property to be set - * @param propvalue the Any object to which the - * value of the property will be set. The - * Any object's value - * field contains the value to be associated - * with the given propname; the - * kind field must be set to - * TCKind.tk_string. - */ - - public abstract void set_one_value(String propname, Any propvalue); - - /** - I Sets one or more property values in this Context - * object. The NVList supplied to this method - * contains one or more NamedValue objects. - * In each NamedValue object, - * the name field holds the name of the property, and - * the flags field must be set to zero. - * The NamedValue object's value field - * contains an Any object, which, in turn, contains the value - * for the property. Since the value is always a string, - * the Any object must have the kind - * field of its TypeCode set to TCKind.tk_string. - * - * @param values an NVList containing the property - * names and associated values to be set - * - * @see #get_values - * @see org.omg.CORBA.NamedValue - * @see org.omg.CORBA.Any - */ - - public abstract void set_values(NVList values); - - /** - * Deletes from this Context object the - * NamedValue object(s) whose - * name field matches the given property name. - * If the String object supplied for - * propname has a - * trailing wildcard character ("*"), then - * all NamedValue objects whose name - * fields match will be deleted. The search scope is always - * limited to this Context object. - *

- * If no matching property is found, an exception is returned. - * - * @param propname name of the property to be deleted - */ - - public abstract void delete_values(String propname); - - /** - * Retrieves the NamedValue objects whose - * name field matches the given name or name - * pattern. This method allows for wildcard searches, - * which means that there can be multiple matches and - * therefore multiple values returned. If the - * property is not found at the indicated level, the search - * continues up the context object tree until a match is found or - * all Context objects in the chain have been exhausted. - *

- * If no match is found, an error is returned and no property list - * is returned. - * - * @param start_scope a String object indicating the - * context object level at which to initiate the - * search for the specified properties - * (for example, "_USER", "_GROUP", "_SYSTEM"). Valid scope - * names are implementation-specific. If a - * scope name is omitted, the search - * begins with the specified context - * object. If the specified scope name is - * not found, an exception is returned. - * @param op_flags an operation flag. The one flag - * that may be specified is CTX_RESTRICT_SCOPE. - * If this flag is specified, searching is limited to the - * specified start_scope or this - * Context object. - * @param pattern the property name whose values are to - * be retrieved. pattern may be a - * name or a name with a - * trailing wildcard character ("*"). - * - * @return an NVList containing all the property values - * (in the form of NamedValue objects) - * whose associated property name matches the given name or - * name pattern - * @see #set_values - * @see org.omg.CORBA.NamedValue - */ - - abstract public NVList get_values(String start_scope, int op_flags, - String pattern); -};