OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [org/] [omg/] [CORBA/] [DynAny.java] - Blame information for rev 775

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 775 jeremybenn
/* DynAny.java --
2
   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
 
39
package org.omg.CORBA;
40
 
41
import org.omg.CORBA.DynAnyPackage.Invalid;
42
import org.omg.CORBA.DynAnyPackage.InvalidValue;
43
import org.omg.CORBA.DynAnyPackage.TypeMismatch;
44
 
45
import java.io.Serializable;
46
 
47
/**
48
 * The DynAny interface provides possibility to access the components of
49
 * the CORBA object, stored inside the {@link Any}. The {@link Any} itself
50
 * allows to read, write and pass as parameter the stored value without
51
 * knowning its exact data type. The DynAny and derived classes additionally
52
 * allows to access the members of the sequence, structure, union and get the
53
 * data about enumeration, value type and CORBA <code>fixed</code> without
54
 * knowing the exact type at the run time. The returned members are also
55
 * wrapped into DynAny objects, allowing them to be the nested structures.
56
 *
57
 * @deprecated by {@link org.omg.DynamicAny.DynAny}
58
 *
59
 * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
60
 */
61
public interface DynAny
62
  extends org.omg.CORBA.Object
63
{
64
  /**
65
   * Copy one DynAny into another.
66
   *
67
   * @param from the DynAny to copy from.
68
   * @throws Invalid if the source DynAny is invalid.
69
   */
70
  void assign(DynAny from)
71
       throws Invalid;
72
 
73
  /**
74
   * Clones this DynAny.
75
   */
76
  DynAny copy();
77
 
78
  /**
79
   * Returns the focused component of this DynAny. The DynAny has the internal
80
   * pointer (reference) that can point to one of its components. The returned
81
   * DynAny can be used to get or set the value of the focused component.
82
   * If the DynAny holds a primitive type with no components, this
83
   * implementation returns <code>this</code>.
84
   */
85
  DynAny current_component();
86
 
87
  /**
88
   * Destroys this DynAny, freeing the used resources. In java, resources
89
   * are freed by the garbage collectors, so this method typically returns
90
   * without action.
91
   */
92
  void destroy();
93
 
94
  /**
95
   * Makes a DynAny from the {@link Any}. The passed {@link Any} becomes the
96
   * enclosed instance of this DynAny, allowing to change/traverse the
97
   * {@link Any} fields by the {@link DynAny} methods.
98
   */
99
  void from_any(Any an_any)
100
         throws Invalid;
101
 
102
  /**
103
   * Retrieves the {@link Any}, stored inside this DynAny.
104
   *
105
   * @throws TypeMismatch if the typecode of the accessed Any
106
   * is not the same as the typecode of this DynAny.
107
   */
108
  Any get_any()
109
       throws TypeMismatch;
110
 
111
  /**
112
   * Extract the boolean value that is expected to be
113
   * stored in this DynAny.
114
   *
115
   * @throws TypeMismatch if this DynAny holds the value of the
116
   * different type.
117
   */
118
  boolean get_boolean()
119
               throws TypeMismatch;
120
 
121
  /**
122
   * Extract the char value that is expected to be
123
   * stored in this DynAny.
124
   *
125
   * @throws TypeMismatch if this DynAny holds the value of the
126
   * different type.
127
   */
128
  char get_char()
129
         throws TypeMismatch;
130
 
131
  /**
132
   * Extract the <code>double</code> value that is expected to be
133
   * stored in this DynAny.
134
   *
135
   * @throws TypeMismatch if this DynAny holds the value of the
136
   * different type.
137
   */
138
  double get_double()
139
             throws TypeMismatch;
140
 
141
  /**
142
   * Extract the <code>float</code> value that is expected to be
143
   * stored in this DynAny.
144
   *
145
   * @throws TypeMismatch if this DynAny holds the value of the
146
   * different type.
147
   */
148
  float get_float()
149
           throws TypeMismatch;
150
 
151
  /**
152
   * Extract the int (CORBA long) value that is expected to be
153
   * stored in this DynAny.
154
   *
155
   * @throws TypeMismatch if this DynAny holds the value of the
156
   * different type.
157
   */
158
  int get_long()
159
        throws TypeMismatch;
160
 
161
  /**
162
   * Extract the long (CORBA long long) value that is expected to be
163
   * stored in this DynAny.
164
   *
165
   * @throws TypeMismatch if this DynAny holds the value of the
166
   * different type.
167
   */
168
  long get_longlong()
169
             throws TypeMismatch;
170
 
171
  /**
172
   * Extract the byte (CORBA octet) value that is expected to be
173
   * stored in this DynAny.
174
   *
175
   * @throws TypeMismatch if this DynAny holds the value of the
176
   * different type.
177
   */
178
  byte get_octet()
179
          throws TypeMismatch;
180
 
181
  /**
182
   * Extract the CORBA object reference that is expected to be
183
   * stored in this DynAny.
184
   *
185
   * @throws TypeMismatch if this DynAny holds the value of the
186
   * different type.
187
   */
188
  Object get_reference()
189
                throws TypeMismatch;
190
 
191
  /**
192
   * Extract the <code>short</code> value that is expected to be
193
   * stored in this DynAny.
194
   *
195
   * @throws TypeMismatch if this DynAny holds the value of the
196
   * different type.
197
   */
198
  short get_short()
199
           throws TypeMismatch;
200
 
201
  /**
202
   * Extract the string value that is expected to be
203
   * stored in this DynAny.
204
   *
205
   * @throws TypeMismatch if this DynAny holds the value of the
206
   * different type.
207
   */
208
  String get_string()
209
             throws TypeMismatch;
210
 
211
  /**
212
   * Extract the {@link TypeCode} value that is expected to be
213
   * stored in this DynAny.
214
   *
215
   * @throws TypeMismatch if this DynAny holds the value of the
216
   * different type.
217
   */
218
  TypeCode get_typecode()
219
                 throws TypeMismatch;
220
 
221
  /**
222
   * Extract the unsigned int (CORBA ulong) value that is expected to be
223
   * stored in this DynAny.
224
   *
225
   * @throws TypeMismatch if this DynAny holds the value of the
226
   * different type.
227
   */
228
  int get_ulong()
229
         throws TypeMismatch;
230
 
231
  /**
232
   * Extract the unsingel long (CORBA unsigned long long )value that
233
   * is expected to be stored in this DynAny.
234
   *
235
   * @throws TypeMismatch if this DynAny holds the value of the
236
   * different type.
237
   */
238
  long get_ulonglong()
239
              throws TypeMismatch;
240
 
241
  /**
242
   * Extract the unsigned short value that is expected to be
243
   * stored in this DynAny.
244
   *
245
   * @throws TypeMismatch if this DynAny holds the value of the
246
   * different type.
247
   */
248
  short get_ushort()
249
            throws TypeMismatch;
250
 
251
  /**
252
   * Extract the value that is expected to be
253
   * stored in this DynAny.
254
   *
255
   * @throws TypeMismatch if this DynAny holds the value of the
256
   * different type.
257
   */
258
  Serializable get_val()
259
                throws TypeMismatch;
260
 
261
  /**
262
   * Extract the wide (usually UTF-16) character value that is expected to be
263
   * stored in this DynAny.
264
   *
265
   * @throws TypeMismatch if this DynAny holds the value of the
266
   * different type.
267
   */
268
  char get_wchar()
269
          throws TypeMismatch;
270
 
271
  /**
272
   * Extract the wide (usually UFT-16) string that is expected to be
273
   * stored in this DynAny.
274
   *
275
   * @throws TypeMismatch if this DynAny holds the value of the
276
   * different type.
277
   */
278
  String get_wstring()
279
              throws TypeMismatch;
280
 
281
  /**
282
   * Insert the {@link Any} value into the enclosed
283
   * {@link Any} inside this DynAny.
284
   *
285
   * @param an_any the value being inserted.
286
   * @throws InvalidValue if the value type does not match the
287
   * typecode of the enclosed {@link Any}.
288
   */
289
  void insert_any(Any an_any)
290
           throws InvalidValue;
291
 
292
  /**
293
   * Insert the boolean value into the enclosed
294
   * {@link Any} inside this DynAny
295
   * @param a_x the value being inserted.
296
   * @throws InvalidValue if the value type does not match the
297
   * typecode of the enclosed {@link Any}.
298
   */
299
  void insert_boolean(boolean a_x)
300
               throws InvalidValue;
301
 
302
  /**
303
   * Insert the char value into the enclosed
304
   * {@link Any} inside this DynAny
305
   * @param a_x the value being inserted.
306
   * @throws InvalidValue if the value type does not match the
307
   * typecode of the enclosed {@link Any}.
308
   */
309
  void insert_char(char a_x)
310
            throws InvalidValue;
311
 
312
  /**
313
   * Insert the double value into the enclosed
314
   * {@link Any} inside this DynAny
315
   * @param a_x the value being inserted.
316
   * @throws InvalidValue if the value type does not match the
317
   * typecode of the enclosed {@link Any}.
318
   */
319
  void insert_double(double a_x)
320
              throws InvalidValue;
321
 
322
  /**
323
   * Insert the float value into the enclosed
324
   * {@link Any} inside this DynAny
325
   * @param a_x the value being inserted.
326
   * @throws InvalidValue if the value type does not match the
327
   * typecode of the enclosed {@link Any}.
328
   */
329
  void insert_float(float a_x)
330
             throws InvalidValue;
331
 
332
  /**
333
   * Insert the int (CORBA long) value into the enclosed
334
   * {@link Any} inside this DynAny
335
   * @param a_x the value being inserted.
336
   * @throws InvalidValue if the value type does not match the
337
   * typecode of the enclosed {@link Any}.
338
   */
339
  void insert_long(int a_x)
340
            throws InvalidValue;
341
 
342
  /**
343
   * Insert the long (CORBA long long) value into the enclosed
344
   * {@link Any} inside this DynAny
345
   * @param a_x the value being inserted.
346
   * @throws InvalidValue if the value type does not match the
347
   * typecode of the enclosed {@link Any}.
348
   */
349
  void insert_longlong(long a_x)
350
                throws InvalidValue;
351
 
352
  /**
353
   * Insert the byte (CORBA octet) value into the enclosed
354
   * {@link Any} inside this DynAny
355
   * @param a_x the value being inserted.
356
   * @throws InvalidValue if the value type does not match the
357
   * typecode of the enclosed {@link Any}.
358
   */
359
  void insert_octet(byte a_x)
360
             throws InvalidValue;
361
 
362
  /**
363
   * Insert the object reference into the enclosed
364
   * {@link Any} inside this DynAny
365
   * @param a_x the value being inserted.
366
   * @throws InvalidValue if the value type does not match the
367
   * typecode of the enclosed {@link Any}.
368
   */
369
  void insert_reference(Object a_x)
370
                 throws InvalidValue;
371
 
372
  /**
373
   * Insert the <code>short</code> value into the enclosed
374
   * {@link Any} inside this DynAny
375
   * @param a_x the value being inserted.
376
   * @throws InvalidValue if the value type does not match the
377
   * typecode of the enclosed {@link Any}.
378
   */
379
  void insert_short(short a_x)
380
             throws InvalidValue;
381
 
382
  /**
383
   * Insert the string value into the enclosed
384
   * {@link Any} inside this DynAny
385
   * @param a_x the value being inserted.
386
   * @throws InvalidValue if the value type does not match the
387
   * typecode of the enclosed {@link Any}.
388
   */
389
  void insert_string(String a_x)
390
              throws InvalidValue;
391
 
392
  /**
393
   * Insert the {@link TypeCode} value into the enclosed
394
   * {@link Any} inside this DynAny
395
   * @param a_x the value being inserted.
396
   * @throws InvalidValue if the value type does not match the
397
   * typecode of the enclosed {@link Any}.
398
   */
399
  void insert_typecode(TypeCode a_x)
400
                throws InvalidValue;
401
 
402
  /**
403
   * Insert the int (CORBA unsinged long) value into the enclosed
404
   * {@link Any} inside this DynAny
405
   * @param a_x the value being inserted.
406
   * @throws InvalidValue if the value type does not match the
407
   * typecode of the enclosed {@link Any}.
408
   */
409
  void insert_ulong(int a_x)
410
             throws InvalidValue;
411
 
412
  /**
413
   * Insert the long (CORBA unsigned long long) value into the enclosed
414
   * {@link Any} inside this DynAny
415
   * @param a_x the value being inserted.
416
   * @throws InvalidValue if the value type does not match the
417
   * typecode of the enclosed {@link Any}.
418
   */
419
  void insert_ulonglong(long a_x)
420
                 throws InvalidValue;
421
 
422
  /**
423
   * Insert the short (CORBA unsigned short) value into the enclosed
424
   * {@link Any} inside this DynAny
425
   * @param a_x the value being inserted.
426
   * @throws InvalidValue if the value type does not match the
427
   * typecode of the enclosed {@link Any}.
428
   */
429
  void insert_ushort(short a_x)
430
              throws InvalidValue;
431
 
432
  /**
433
   * Insert the value into the enclosed
434
   * {@link Any} inside this DynAny
435
   * @param a_x the value being inserted.
436
   * @throws InvalidValue if the value type does not match the
437
   * typecode of the enclosed {@link Any}.
438
   */
439
  void insert_val(Serializable a_x)
440
           throws InvalidValue;
441
 
442
  /**
443
   * Insert the wide char (usually UTF-16) value into the enclosed
444
   * {@link Any} inside this DynAny
445
   * @param a_x the value being inserted.
446
   * @throws InvalidValue if the value type does not match the
447
   * typecode of the enclosed {@link Any}.
448
   */
449
  void insert_wchar(char a_x)
450
             throws InvalidValue;
451
 
452
  /**
453
   * Insert the wide string (usually UTF-16) into the enclosed
454
   * {@link Any} inside this DynAny
455
   * @param a_x the value being inserted.
456
   * @throws InvalidValue if the value type does not match the
457
   * typecode of the enclosed {@link Any}.
458
   */
459
  void insert_wstring(String a_x)
460
               throws InvalidValue;
461
 
462
  /**
463
   * Advances the internal pointer, described in the {@link #current_component},
464
   * one position forward.
465
   *
466
   * @return true if the pointer now points to the new component,
467
   * false if there are no more components of this DynAny holds
468
   * a basic type that is not divided into components.
469
   */
470
  boolean next();
471
 
472
  /**
473
   * Moves the internal pointer, described in the {@link #current_component},
474
   * to the first component.
475
   */
476
  void rewind();
477
 
478
  /**
479
   * Moves the internal pointer, described in the {@link #current_component},
480
   * to the given position.
481
   *
482
   * @param p the number of the internal component on that the internal
483
   * pointer must be focused.
484
   *
485
   * @return true on success or false if there is no component with the
486
   * given number. If the DynAny holds the basic type, this method returs
487
   * false p values other than 0.
488
   */
489
  boolean seek(int p);
490
 
491
  /**
492
   * Returns the enclosed {@link Any}.
493
   *
494
   * @return the enclosed {@link Any}.
495
   */
496
  Any to_any()
497
      throws Invalid;
498
 
499
  /**
500
   * Returns the typecode of the object, inserted into this
501
   * DynAny.
502
   *
503
   * @return the typecode of the inserted {@link Any} or null typecode
504
   * if no {@link Any has been yet inserted}.
505
   */
506
  TypeCode type();
507
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.