summaryrefslogtreecommitdiff
path: root/org
diff options
context:
space:
mode:
authorAudrius Meskauskas <audriusa@Bioinformatics.org>2005-08-07 22:00:20 +0000
committerAudrius Meskauskas <audriusa@Bioinformatics.org>2005-08-07 22:00:20 +0000
commita23254632d3b41eee85ec3e5d385eeee899c5b9d (patch)
tree2356b8e6bd94eeb47edb32ce5154f8b55113635e /org
parent44a797a7a9d5f5c57f0c22142150e5c6001f2d12 (diff)
downloadclasspath-a23254632d3b41eee85ec3e5d385eeee899c5b9d.tar.gz
2005-08-07 Audrius Meskauskas <AudriusA@Bioinformatics.org>
* org/omg/DynamicAny/AnySeqHelper.java, org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, org/omg/DynamicAny/NameValuePairHelper.java, org/omg/DynamicAny/NameDynAnyPairHelper.java, org/omg/DynamicAny/NameValuePairSeqHelper.java, org/omg/DynamicAny/DynAnySeqHelper.java, gnu/CORBA/DynAnySeqHolder.java, gnu/CORBA/NameDynAnyPairSeqHolder.java, gnu/CORBA/NameDynAnyPairHolder.java, gnu/CORBA/NameValuePairSeqHolder.java, gnu/CORBA/NameValuePairHolder.java: New files.
Diffstat (limited to 'org')
-rw-r--r--org/omg/DynamicAny/AnySeqHelper.java122
-rw-r--r--org/omg/DynamicAny/DynAnySeqHelper.java152
-rw-r--r--org/omg/DynamicAny/NameDynAnyPairHelper.java170
-rw-r--r--org/omg/DynamicAny/NameDynAnyPairSeqHelper.java151
-rw-r--r--org/omg/DynamicAny/NameValuePairHelper.java159
-rw-r--r--org/omg/DynamicAny/NameValuePairSeqHelper.java147
6 files changed, 901 insertions, 0 deletions
diff --git a/org/omg/DynamicAny/AnySeqHelper.java b/org/omg/DynamicAny/AnySeqHelper.java
new file mode 100644
index 000000000..60e4e6ea7
--- /dev/null
+++ b/org/omg/DynamicAny/AnySeqHelper.java
@@ -0,0 +1,122 @@
+/* AnySeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.DynamicAny;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the array of {@link Any}. This class shares
+ * the same {@link AnySeqHolder} as the {@link org.omg.CORBA.AnySeqHelper}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class AnySeqHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ /**
+ * Delegates call to {@link org.omg.CORBA.AnySeqHelper#extract}.
+ */
+ public static Any[] extract(Any any)
+ {
+ return org.omg.CORBA.AnySeqHelper.extract(any);
+ }
+
+ /**
+ * Get the AnySeq repository id.
+ *
+ * @return "IDL:omg.org/DynamicAny/AnySeq:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/DynamicAny/AnySeq:1.0";
+ }
+
+ /**
+ * Delegates call to {@link org.omg.CORBA.AnySeqHelper#insert}.
+ */
+ public static void insert(Any any, Any[] those)
+ {
+ org.omg.CORBA.AnySeqHelper.insert(any, those);
+ }
+
+ /**
+ * Delegates call to {@link org.omg.CORBA.AnySeqHelper#read}.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static Any[] read(InputStream input)
+ {
+ return org.omg.CORBA.AnySeqHelper.read(input);
+ }
+
+ /**
+ * Get the typecode as officially defined for this helper.
+ *
+ * @return alias of unbounded sequence of Any's, named AnySeq,
+ * with the id, returned by {@link #id()}.
+ */
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ ORB orb = ORB.init();
+ TypeCode t =
+ orb.create_sequence_tc(0, orb.get_primitive_tc(TCKind.tk_any));
+ typeCode = orb.create_alias_tc(id(), "AnySeq", t);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Delegates call to {@link org.omg.CORBA.AnySeqHelper#write}.
+ */
+ public static void write(OutputStream output, Any[] value)
+ {
+ org.omg.CORBA.AnySeqHelper.write(output, value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/DynamicAny/DynAnySeqHelper.java b/org/omg/DynamicAny/DynAnySeqHelper.java
new file mode 100644
index 000000000..87e344523
--- /dev/null
+++ b/org/omg/DynamicAny/DynAnySeqHelper.java
@@ -0,0 +1,152 @@
+/* DynAnySeq.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.DynamicAny;
+
+import gnu.CORBA.DynAnySeqHolder;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.MARSHAL;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the array of {@link DynAny} ({@link DynAnySeq}).
+ * Following the 1.5 JDK specifications, DynAny (and hence an sequence of
+ * DynAny's) is always a local object, so the two methods of this helper
+ * ({@link #read} and {@link #write} are not in use, always throwing
+ * {@link MARSHAL}.
+ *
+ * @specnote always throwing MARSHAL in read and write ensures compatibility
+ * with other popular implementations like Sun's.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class DynAnySeqHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ ORB orb = ORB.init();
+ TypeCode t = orb.create_sequence_tc(0, DynAnyHelper.type());
+ typeCode = orb.create_alias_tc(id(), "DynAnySeq", t);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Insert the DynAnySeq into the given Any.
+ * This method uses the DynAnySeqHolder.
+ *
+ * @param any the Any to insert into.
+ * @param those the DynAny[] to insert.
+ */
+ public static void insert(Any any, DynAny[] those)
+ {
+ any.insert_Streamable(new DynAnySeqHolder(those));
+ }
+
+ /**
+ * Extract the DynAnySeq from given Any.
+ * This method uses the DynAnySeqHolder.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain DynAnySeq.
+ */
+ public static DynAny[] extract(Any any)
+ {
+ try
+ {
+ return ((DynAnySeqHolder) any.extract_Streamable()).value;
+ }
+ catch (ClassCastException cex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("DynAnySeq expected");
+ bad.initCause(cex);
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the DynAnySeq repository id.
+ *
+ * @return "IDL:omg.org/DynamicAny/DynAnySeq:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/DynamicAny/DynAnySeq:1.0";
+ }
+
+ /**
+ * The method should read this object from the CDR input stream, but
+ * (following the JDK 1.5 API) it does not.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ *
+ * @specenote Sun throws the same exception.
+ *
+ * @throws MARSHAL always.
+ */
+ public static DynAny[] read(InputStream input)
+ {
+ throw new MARSHAL(DynAnyFactoryHelper.not_applicable(id()));
+ }
+
+ /**
+ * The method should write this object to the CDR input stream, but
+ * (following the JDK 1.5 API) it does not.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ *
+ * @specenote Sun throws the same exception.
+ *
+ * @throws MARSHAL always.
+ */
+ public static void write(OutputStream output, DynAny[] value)
+ {
+ throw new MARSHAL(DynAnyFactoryHelper.not_applicable(id()));
+ }
+} \ No newline at end of file
diff --git a/org/omg/DynamicAny/NameDynAnyPairHelper.java b/org/omg/DynamicAny/NameDynAnyPairHelper.java
new file mode 100644
index 000000000..d649800b8
--- /dev/null
+++ b/org/omg/DynamicAny/NameDynAnyPairHelper.java
@@ -0,0 +1,170 @@
+/* NameDynAnyPairHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.DynamicAny;
+
+import gnu.CORBA.NameDynAnyPairHolder;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.MARSHAL;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the structure {@link NameDynAnyPair}.
+ *
+ * Following the 1.5 JDK specifications, DynAny (and hence any structure,
+ * containing DynAny) is always a local object, so the two methods of this
+ * helper ({@link #read} and {@link #write} are not in use, always throwing
+ * {@link MARSHAL}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class NameDynAnyPairHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ /**
+ * Extract the NameDynAnyPair from given Any.
+ * This method uses the NameDynAnyPairHolder.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain NameDynAnyPair.
+ */
+ public static NameDynAnyPair extract(Any any)
+ {
+ try
+ {
+ return ((NameDynAnyPairHolder) any.extract_Streamable()).value;
+ }
+ catch (ClassCastException cex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("NameDynAnyPair expected");
+ bad.initCause(cex);
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the NameDynAnyPair repository id.
+ *
+ * @return "IDL:omg.org/DynamicAny/NameDynAnyPair:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/DynamicAny/NameDynAnyPair:1.0";
+ }
+
+ /**
+ * Create the NameDynAnyPair typecode (structure,
+ * named "NameDynAnyPair").
+ * The typecode states that the structure contains the
+ * following fields: id, value.
+ */
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ ORB orb = ORB.init();
+ StructMember[] members = new StructMember[ 2 ];
+
+ TypeCode field;
+
+ field =
+ orb.create_alias_tc("IDL:omg.org/DynamicAny/FieldName:1.0",
+ "FieldName",
+ orb.get_primitive_tc(TCKind.tk_string)
+ );
+ members [ 0 ] = new StructMember("id", field, null);
+
+ field = DynAnyHelper.type();
+ members [ 1 ] = new StructMember("value", field, null);
+ typeCode = orb.create_struct_tc(id(), "NameDynAnyPair", members);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Insert the NameDynAnyPair into the given Any.
+ * This method uses the NameDynAnyPairHolder.
+ *
+ * @param any the Any to insert into.
+ * @param that the NameDynAnyPair to insert.
+ */
+ public static void insert(Any any, NameDynAnyPair that)
+ {
+ any.insert_Streamable(new NameDynAnyPairHolder(that));
+ }
+
+ /**
+ * The method should read this object from the CDR input stream, but
+ * (following the JDK 1.5 API) it does not.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ *
+ * @specenote Sun throws the same exception.
+ *
+ * @throws MARSHAL always.
+ */
+ public static NameDynAnyPair read(InputStream input)
+ {
+ throw new MARSHAL(DynAnyFactoryHelper.not_applicable(id()));
+ }
+
+ /**
+ * The method should write this object to the CDR input stream, but
+ * (following the JDK 1.5 API) it does not.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ *
+ * @specenote Sun throws the same exception.
+ *
+ * @throws MARSHAL always.
+ */
+ public static void write(OutputStream output, NameDynAnyPair value)
+ {
+ throw new MARSHAL(DynAnyFactoryHelper.not_applicable(id()));
+ }
+} \ No newline at end of file
diff --git a/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java b/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java
new file mode 100644
index 000000000..06a5ced90
--- /dev/null
+++ b/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java
@@ -0,0 +1,151 @@
+/* NameDynAnyPairSeq.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.DynamicAny;
+
+import gnu.CORBA.NameDynAnyPairSeqHolder;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.MARSHAL;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the array of {@link NameDynAnyPair}
+ * ({@link NameDynAnyPairSeq}).
+ *
+ * Following the 1.5 JDK specifications, DynAny (and hence the sequence
+ * of structures, containing DynAny) is always a local object.
+ * Hence the two methods of this helper ({@link #read} and {@link #write} are
+ * not in use, always throwing {@link MARSHAL}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class NameDynAnyPairSeqHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ ORB orb = ORB.init();
+ TypeCode t = orb.create_sequence_tc(0, NameDynAnyPairHelper.type());
+ typeCode = orb.create_alias_tc(id(), "NameDynAnyPairSeq", t);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Insert the NameDynAnyPairSeq into the given Any.
+ * This method uses the NameDynAnyPairSeqHolder.
+ *
+ * @param any the Any to insert into.
+ * @param those the NameDynAnyPair[] to insert.
+ */
+ public static void insert(Any any, NameDynAnyPair[] those)
+ {
+ any.insert_Streamable(new NameDynAnyPairSeqHolder(those));
+ }
+
+ /**
+ * Extract the NameDynAnyPairSeq from given Any.
+ * This method uses the NameDynAnyPairSeqHolder.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain NameDynAnyPairSeq.
+ */
+ public static NameDynAnyPair[] extract(Any any)
+ {
+ try
+ {
+ return ((NameDynAnyPairSeqHolder) any.extract_Streamable()).value;
+ }
+ catch (ClassCastException cex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("NameDynAnyPairSeq expected");
+ bad.initCause(cex);
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the NameDynAnyPairSeq repository id.
+ *
+ * @return "IDL:omg.org/DynamicAny/NameDynAnyPairSeq:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/DynamicAny/NameDynAnyPairSeq:1.0";
+ }
+
+ /**
+ * The method should read this object from the CDR input stream, but
+ * (following the JDK 1.5 API) it does not.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ *
+ * @specenote Sun throws the same exception.
+ *
+ * @throws MARSHAL always.
+ */
+ public static NameDynAnyPair[] read(InputStream input)
+ {
+ throw new MARSHAL(DynAnyFactoryHelper.not_applicable(id()));
+ }
+
+ /**
+ * The method should write this object to the CDR input stream, but
+ * (following the JDK 1.5 API) it does not.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ *
+ * @specenote Sun throws the same exception.
+ *
+ * @throws MARSHAL always.
+ */
+ public static void write(OutputStream output, NameDynAnyPair[] value)
+ {
+ throw new MARSHAL(DynAnyFactoryHelper.not_applicable(id()));
+ }
+} \ No newline at end of file
diff --git a/org/omg/DynamicAny/NameValuePairHelper.java b/org/omg/DynamicAny/NameValuePairHelper.java
new file mode 100644
index 000000000..a3d5bff45
--- /dev/null
+++ b/org/omg/DynamicAny/NameValuePairHelper.java
@@ -0,0 +1,159 @@
+/* NameValuePairHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.DynamicAny;
+
+import gnu.CORBA.NameValuePairHolder;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the structure {@link NameValuePair}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class NameValuePairHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ /**
+ * Create the NameValuePair typecode (structure,
+ * named "NameValuePair").
+ * The typecode states that the structure contains the
+ * following fields: id, value.
+ */
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ ORB orb = ORB.init();
+ StructMember[] members = new StructMember[ 2 ];
+
+ TypeCode field;
+
+ field =
+ orb.create_alias_tc("IDL:omg.org/DynamicAny/FieldName:1.0",
+ "FieldName",
+ orb.get_primitive_tc(TCKind.tk_string)
+ );
+ members [ 0 ] = new StructMember("id", field, null);
+
+ field = orb.get_primitive_tc(TCKind.tk_any);
+ members [ 1 ] = new StructMember("value", field, null);
+ typeCode = orb.create_struct_tc(id(), "NameValuePair", members);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Insert the NameValuePair into the given Any.
+ * This method uses the NameValuePairHolder.
+ *
+ * @param any the Any to insert into.
+ * @param that the NameValuePair to insert.
+ */
+ public static void insert(Any any, NameValuePair that)
+ {
+ any.insert_Streamable(new NameValuePairHolder(that));
+ }
+
+ /**
+ * Extract the NameValuePair from given Any.
+ * This method uses the NameValuePairHolder.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain NameValuePair.
+ */
+ public static NameValuePair extract(Any any)
+ {
+ try
+ {
+ return ((NameValuePairHolder) any.extract_Streamable()).value;
+ }
+ catch (ClassCastException cex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("NameValuePair expected");
+ bad.initCause(cex);
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the NameValuePair repository id.
+ *
+ * @return "IDL:omg.org/DynamicAny/NameValuePair:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/DynamicAny/NameValuePair:1.0";
+ }
+
+ /**
+ * Read the structure from the CDR intput stream.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static NameValuePair read(InputStream input)
+ {
+ NameValuePair value = new NameValuePair();
+ value.id = input.read_string();
+ value.value = input.read_any();
+ return value;
+ }
+
+ /**
+ * Write the structure to the CDR output stream.
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream output, NameValuePair value)
+ {
+ output.write_string(value.id);
+ output.write_any(value.value);
+ }
+} \ No newline at end of file
diff --git a/org/omg/DynamicAny/NameValuePairSeqHelper.java b/org/omg/DynamicAny/NameValuePairSeqHelper.java
new file mode 100644
index 000000000..400708e18
--- /dev/null
+++ b/org/omg/DynamicAny/NameValuePairSeqHelper.java
@@ -0,0 +1,147 @@
+/* NameValuePairSeq.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.DynamicAny;
+
+import gnu.CORBA.NameValuePairSeqHolder;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the array of {@link NameValuePair}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class NameValuePairSeqHelper
+{
+ /**
+ * The cached typecode value, computed only once.
+ */
+ private static TypeCode typeCode;
+
+ public static TypeCode type()
+ {
+ if (typeCode == null)
+ {
+ ORB orb = ORB.init();
+ TypeCode t = orb.create_sequence_tc(0, NameValuePairHelper.type());
+ typeCode = orb.create_alias_tc(id(), "NameValuePairSeq", t);
+ }
+ return typeCode;
+ }
+
+ /**
+ * Insert the NameValuePairSeq into the given Any.
+ * This method uses the NameValuePairSeqHolder.
+ *
+ * @param any the Any to insert into.
+ * @param those the NameValuePair[] to insert.
+ */
+ public static void insert(Any any, NameValuePair[] those)
+ {
+ any.insert_Streamable(new NameValuePairSeqHolder(those));
+ }
+
+ /**
+ * Extract the NameValuePairSeq from given Any.
+ * This method uses the NameValuePairSeqHolder.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain NameValuePairSeq.
+ */
+ public static NameValuePair[] extract(Any any)
+ {
+ try
+ {
+ return ((NameValuePairSeqHolder) any.extract_Streamable()).value;
+ }
+ catch (ClassCastException cex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("NameValuePairSeq expected");
+ bad.initCause(cex);
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the NameValuePairSeq repository id.
+ *
+ * @return "IDL:omg.org/DynamicAny/NameValuePairSeq:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/DynamicAny/NameValuePairSeq:1.0";
+ }
+
+ /**
+ * Read the sequence from the CDR intput stream.
+ * Expects the array size (as CORBA long), followed by
+ * the array members (if any).
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static NameValuePair[] read(InputStream input)
+ {
+ NameValuePair[] value;
+ value = new NameValuePair[ input.read_long() ];
+ for (int i = 0; i < value.length; i++)
+ value [ i ] = NameValuePairHelper.read(input);
+ return value;
+ }
+
+ /**
+ * Write the structure to the CDR output stream.
+ * Writes the array size (as CORBA long), followed by
+ * the array members (if any).
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value an array to write.
+ */
+ public static void write(OutputStream output, NameValuePair[] value)
+ {
+ output.write_long(value.length);
+ for (int i0 = 0; i0 < value.length; i0++)
+ {
+ NameValuePairHelper.write(output, value [ i0 ]);
+ }
+ }
+} \ No newline at end of file