ContextList.java revision 608:7e06bf1dcb09
1/*
2 * Copyright (c) 1996, 1999, 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 */
25
26package org.omg.CORBA;
27
28/**
29 * An object containing a modifiable list of <code>String</code> objects
30 * that represent property names.
31 * This class is used in <code>Request</code> operations to
32 * describe the contexts that need to be resolved and sent with the
33 * invocation.  (A context is resolved by giving a property name
34 * and getting back the value associated with it.)  This is done
35 * by calling the <code>Context</code> method
36 * <code>get_values</code> and supplying a string from a
37 * <code>ContextList</code> object as the third parameter.
38 * The method <code>get_values</code> returns an <code>NVList</code>
39 * object containing the <code>NamedValue</code> objects that hold
40 * the value(s) identified by the given string.
41 * <P>
42 * A <code>ContextList</code> object is created by the ORB, as
43 * illustrated here:
44 * <PRE>
45 *   ORB orb = ORB.init(args, null);
46 *   org.omg.CORBA.ContextList ctxList = orb.create_context_list();
47 * </PRE>
48 * The variable <code>ctxList</code> represents an empty
49 * <code>ContextList</code> object.  Strings are added to
50 * the list with the method <code>add</code>, accessed
51 * with the method <code>item</code>, and removed with the
52 * method <code>remove</code>.
53 *
54 * @see Context
55 * @since   JDK1.2
56 */
57
58public abstract class ContextList {
59
60    /**
61     * Returns the number of <code>String</code> objects in this
62     * <code>ContextList</code> object.
63     *
64     * @return                  an <code>int</code> representing the number of
65     * <code>String</code>s in this <code>ContextList</code> object
66     */
67
68    public abstract int count();
69
70    /**
71     * Adds a <code>String</code> object to this <code>ContextList</code>
72     * object.
73     *
74     * @param ctx               the <code>String</code> object to be added
75     */
76
77    public abstract void add(String ctx);
78
79    /**
80     * Returns the <code>String</code> object at the given index.
81     *
82     * @param index             the index of the string desired, with 0 being the
83     index of the first string
84     * @return                  the string at the given index
85     * @exception org.omg.CORBA.Bounds  if the index is greater than
86     *                          or equal to the number of strings in this
87     *                <code>ContextList</code> object
88     */
89
90    public abstract String item(int index) throws org.omg.CORBA.Bounds;
91
92    /**
93     * Removes the <code>String</code> object at the given index. Note that
94     * the indices of all strings following the one removed are
95     * shifted down by one.
96     *
97     * @param index     the index of the <code>String</code> object to be removed,
98     *                with 0 designating the first string
99     * @exception org.omg.CORBA.Bounds  if the index is greater than
100     *                          or equal to the number of <code>String</code> objects in
101     *                this <code>ContextList</code> object
102     */
103
104    public abstract void remove(int index) throws org.omg.CORBA.Bounds;
105
106}
107