1 |
/* DynUnionOperations.java -- |
/* DynUnionOperations.java -- |
2 |
Copyright (C) 2005 Free Software Foundation, Inc. |
Copyright (C) 2005 Free Software Foundation, Inc. |
|
|
|
3 |
This file is part of GNU Classpath. |
This file is part of GNU Classpath. |
4 |
|
|
5 |
GNU Classpath is free software; you can redistribute it and/or modify |
GNU Classpath is free software; you can redistribute it and/or modify |
56 |
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) |
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) |
57 |
*/ |
*/ |
58 |
public interface DynUnionOperations |
public interface DynUnionOperations |
59 |
|
extends DynAnyOperations |
60 |
{ |
{ |
61 |
/** |
/** |
62 |
* Get the value of discriminator, defining which content variant (member) is |
* Get the value of discriminator, defining which content variant (member) is |
75 |
* |
* |
76 |
* @throws TypeMismatch if the discriminator has a wrong type of this union. |
* @throws TypeMismatch if the discriminator has a wrong type of this union. |
77 |
*/ |
*/ |
78 |
void set_discriminator(DynAny aDiscriminator) throws TypeMismatch; |
void set_discriminator(DynAny aDiscriminator) |
79 |
|
throws TypeMismatch; |
80 |
|
|
81 |
/** |
/** |
82 |
* Get the kind of the union descriminator. |
* Get the kind of the union descriminator. |
93 |
* |
* |
94 |
* @throws InvalidValue if the union has no active member. |
* @throws InvalidValue if the union has no active member. |
95 |
*/ |
*/ |
96 |
DynAny member() throws InvalidValue; |
DynAny member() |
97 |
|
throws InvalidValue; |
98 |
|
|
99 |
/** |
/** |
100 |
* Returns the kind of the currently active union member. |
* Returns the kind of the currently active union member. |
103 |
* |
* |
104 |
* @throws InvalidValue if the union has no active member. |
* @throws InvalidValue if the union has no active member. |
105 |
*/ |
*/ |
106 |
TCKind member_kind() throws InvalidValue; |
TCKind member_kind() |
107 |
|
throws InvalidValue; |
108 |
|
|
109 |
/** |
/** |
110 |
* Returns the name of the currently active union member. |
* Returns the name of the currently active union member. |
113 |
* |
* |
114 |
* @throws InvalidValue if the union has no active member. |
* @throws InvalidValue if the union has no active member. |
115 |
*/ |
*/ |
116 |
String member_name() throws InvalidValue; |
String member_name() |
117 |
|
throws InvalidValue; |
118 |
|
|
119 |
/** |
/** |
120 |
* Returns true if the union has no active member. This happens if If the |
* Returns true if the union has no active member. This happens if If the |
130 |
* |
* |
131 |
* @throws TypeMismatch if the default case is not defined for this union. |
* @throws TypeMismatch if the default case is not defined for this union. |
132 |
*/ |
*/ |
133 |
void set_to_default_member() throws TypeMismatch; |
void set_to_default_member() |
134 |
|
throws TypeMismatch; |
135 |
|
|
136 |
/** |
/** |
137 |
* Set the discriminator to value that does not correspond any content variant |
* Set the discriminator to value that does not correspond any content variant |
140 |
* |
* |
141 |
* @throws TypeMismatch if the union has explicit default case. |
* @throws TypeMismatch if the union has explicit default case. |
142 |
*/ |
*/ |
143 |
void set_to_no_active_member() throws TypeMismatch; |
void set_to_no_active_member() |
144 |
|
throws TypeMismatch; |
145 |
} |
} |