diff options
author | Audrius Meskauskas <audriusa@Bioinformatics.org> | 2005-06-27 13:00:41 +0000 |
---|---|---|
committer | Audrius Meskauskas <audriusa@Bioinformatics.org> | 2005-06-27 13:00:41 +0000 |
commit | d7381645ddfe177749d1ecd0bd5e7fe62926c51d (patch) | |
tree | 3fd873b8f6b39f55da6f95e958f7b832fec24671 /org | |
parent | 5155f6c0b11fe8b03a44962c9005f8a966179cae (diff) | |
download | classpath-d7381645ddfe177749d1ecd0bd5e7fe62926c51d.tar.gz |
2005-06-27 Audrius Meskauskas <AudriusA@Bioinformatics.org>
org/omg/DynamicAny/DynAnyPackage/InvalidValue.java,
org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java,
org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java,
org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java,
org/omg/DynamicAny/DynAnyPackage/package.html,
org/omg/IOP/ComponentIdHelper.java: New files.
Diffstat (limited to 'org')
-rw-r--r-- | org/omg/DynamicAny/DynAnyPackage/InvalidValue.java | 81 | ||||
-rw-r--r-- | org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java | 149 | ||||
-rw-r--r-- | org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java | 81 | ||||
-rw-r--r-- | org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java | 149 | ||||
-rw-r--r-- | org/omg/DynamicAny/DynAnyPackage/package.html | 49 | ||||
-rw-r--r-- | org/omg/IOP/ComponentIdHelper.java | 122 |
6 files changed, 631 insertions, 0 deletions
diff --git a/org/omg/DynamicAny/DynAnyPackage/InvalidValue.java b/org/omg/DynamicAny/DynAnyPackage/InvalidValue.java new file mode 100644 index 000000000..4963add87 --- /dev/null +++ b/org/omg/DynamicAny/DynAnyPackage/InvalidValue.java @@ -0,0 +1,81 @@ +/* InvalidValue.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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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.DynAnyPackage; + +import org.omg.CORBA.UserException; +import org.omg.CORBA.portable.IDLEntity; + +import java.io.Serializable; + +/** + * Raised when the operation on DynAny cannot be performed because one of + * the parameters, while having the correct type, has the invalid value. + * For instance, it is raised in response to the set the array content, + * when number of the provided elements mismatch the size of array. + * + * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) + */ +public class InvalidValue + extends UserException + implements IDLEntity, Serializable +{ + /** + * Use serialVersionUID (v1.4) for interoperability. + */ + private static final long serialVersionUID = 4928947584617628504L; + + /** + * Create InvalidValue with no explaining + * message. + */ + public InvalidValue() + { + } + + /** + * Create the InvalidValue with explaining + * message. + * + * @param why a string, explaining, why this exception has been thrown. + */ + public InvalidValue(String why) + { + super(why); + } +}
\ No newline at end of file diff --git a/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java b/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java new file mode 100644 index 000000000..80f177e06 --- /dev/null +++ b/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java @@ -0,0 +1,149 @@ +/* InvalidValueHelper.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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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.DynAnyPackage; + +import gnu.CORBA.EmptyExceptionHolder; + +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; + +/** +* The helper operations for the exception {@link InvalidValue}. +* +* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) +*/ +public abstract class InvalidValueHelper +{ + /** + * The cached typecode value, computed only once. + */ + private static TypeCode typeCode; + + /** + * Create the InvalidValue typecode (structure, + * named "InvalidValue"). + */ + public static TypeCode type() + { + if (typeCode == null) + { + ORB orb = ORB.init(); + StructMember[] members = new StructMember[ 0 ]; + typeCode = orb.create_exception_tc(id(), "InvalidValue", members); + } + return typeCode; + } + + /* Every user exception with no user defined + fields can use EmptyExceptionHolder */ + + /** + * Insert the InvalidValue into the given Any. + * + * @param any the Any to insert into. + * @param that the InvalidValue to insert. + */ + public static void insert(Any any, InvalidValue that) + { + any.insert_Streamable(new EmptyExceptionHolder(that, type())); + } + + /** + * Extract the InvalidValue from given Any. + * + * @throws BAD_OPERATION if the passed Any does not contain InvalidValue. + */ + public static InvalidValue extract(Any any) + { + try + { + EmptyExceptionHolder h = + (EmptyExceptionHolder) any.extract_Streamable(); + return (InvalidValue) h.value; + } + catch (ClassCastException cex) + { + BAD_OPERATION bad = new BAD_OPERATION("InvalidValue expected"); + bad.initCause(cex); + throw bad; + } + } + + /** + * Get the InvalidValue repository id. + * + * @return "IDL:omg.org/DynamicAny/DynAny/InvalidValue:1.0", always. + */ + public static String id() + { + return "IDL:omg.org/DynamicAny/DynAny/InvalidValue:1.0"; + } + + /** + * Read the exception from the CDR intput stream. + * + * @param input a org.omg.CORBA.portable stream to read from. + */ + public static InvalidValue read(InputStream input) + { + // Read the exception repository id. + String id = input.read_string(); + InvalidValue value = new InvalidValue(id); + + return value; + } + + /** + * Write the exception 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, InvalidValue value) + { + // Write the exception repository id. + output.write_string(id()); + } +}
\ No newline at end of file diff --git a/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java b/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java new file mode 100644 index 000000000..9cdfefd31 --- /dev/null +++ b/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java @@ -0,0 +1,81 @@ +/* TypeMismatch.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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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.DynAnyPackage; + +import org.omg.CORBA.UserException; +import org.omg.CORBA.portable.IDLEntity; + +import java.io.Serializable; + +/** + * Raised when the operation cannot be performed because the involved + * data structure has the mismatching typecode. For instance, it is + * raised on the attempt to set the array content, when the value being set + * has a different type than the array element. + * + * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) + */ +public class TypeMismatch + extends UserException + implements IDLEntity, Serializable +{ + /** + * Use serialVersionUID (v1.4) for interoperability. + */ + private static final long serialVersionUID = -6393641830493471034L; + + /** + * Create TypeMismatch with no explaining + * message. + */ + public TypeMismatch() + { + } + + /** + * Create the TypeMismatch with explaining + * message. + * + * @param why a string, explaining, why this exception has been thrown. + */ + public TypeMismatch(String why) + { + super(why); + } +}
\ No newline at end of file diff --git a/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java b/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java new file mode 100644 index 000000000..01393f99f --- /dev/null +++ b/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java @@ -0,0 +1,149 @@ +/* TypeMismatchHelper.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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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.DynAnyPackage; + +import gnu.CORBA.EmptyExceptionHolder; + +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; + +/** +* The helper operations for the exception {@link TypeMismatch}. +* +* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) +*/ +public abstract class TypeMismatchHelper +{ + /** + * The cached typecode value, computed only once. + */ + private static TypeCode typeCode; + + /** + * Create the TypeMismatch typecode (structure, + * named "TypeMismatch"). + */ + public static TypeCode type() + { + if (typeCode == null) + { + ORB orb = ORB.init(); + StructMember[] members = new StructMember[ 0 ]; + typeCode = orb.create_exception_tc(id(), "TypeMismatch", members); + } + return typeCode; + } + + /* Every user exception with no user defined + fields can use EmptyExceptionHolder */ + + /** + * Insert the TypeMismatch into the given Any. + * + * @param any the Any to insert into. + * @param that the TypeMismatch to insert. + */ + public static void insert(Any any, TypeMismatch that) + { + any.insert_Streamable(new EmptyExceptionHolder(that, type())); + } + + /** + * Extract the TypeMismatch from given Any. + * + * @throws BAD_OPERATION if the passed Any does not contain TypeMismatch. + */ + public static TypeMismatch extract(Any any) + { + try + { + EmptyExceptionHolder h = + (EmptyExceptionHolder) any.extract_Streamable(); + return (TypeMismatch) h.value; + } + catch (ClassCastException cex) + { + BAD_OPERATION bad = new BAD_OPERATION("TypeMismatch expected"); + bad.initCause(cex); + throw bad; + } + } + + /** + * Get the TypeMismatch repository id. + * + * @return "IDL:omg.org/DynamicAny/DynAny/TypeMismatch:1.0", always. + */ + public static String id() + { + return "IDL:omg.org/DynamicAny/DynAny/TypeMismatch:1.0"; + } + + /** + * Read the exception from the CDR intput stream. + * + * @param input a org.omg.CORBA.portable stream to read from. + */ + public static TypeMismatch read(InputStream input) + { + // Read the exception repository id. + String id = input.read_string(); + TypeMismatch value = new TypeMismatch(id); + + return value; + } + + /** + * Write the exception 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, TypeMismatch value) + { + // Write the exception repository id. + output.write_string(id()); + } +}
\ No newline at end of file diff --git a/org/omg/DynamicAny/DynAnyPackage/package.html b/org/omg/DynamicAny/DynAnyPackage/package.html new file mode 100644 index 000000000..f6051eb6f --- /dev/null +++ b/org/omg/DynamicAny/DynAnyPackage/package.html @@ -0,0 +1,49 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<!-- package.html -- + Copyright (C) 2002 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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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. --> + +<html> +<head><title>GNU Classpath - org.omg.DynamicAny.DynAnyPackage</title></head> + +<body> + +Contains several exceptions that may be thrown during the operations on +{@link org.omg.DynamicAny.DynAny } and derived classes. Includes helpers, +providing helper operations for these exceptions. + +@author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)</body> +</html> diff --git a/org/omg/IOP/ComponentIdHelper.java b/org/omg/IOP/ComponentIdHelper.java new file mode 100644 index 000000000..b23871fab --- /dev/null +++ b/org/omg/IOP/ComponentIdHelper.java @@ -0,0 +1,122 @@ +/* ComponentIdHelper.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., 59 Temple Place, Suite 330, Boston, MA +02111-1307 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.IOP; + +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 th Component id. A Component Id is an integer +* constant and needs no helper, but the one is included to +* to facilitate the automated code handling. +* +* @specnote In this implementation, this class is not in use. Its "logical" +* place is the read/write methods of the TaggedComponentHelper, to handle the +* first member (int) of the record of the Tagged Component. +* +* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) +*/ +public abstract class ComponentIdHelper +{ + /** + * Create the ComponentId typecode (alias of CORBA ulong, named "ComponentId". + */ + public static TypeCode type() + { + ORB orb = ORB.init(); + return orb.create_alias_tc("IDL:omg.org/IOP/ComponentId:1.0", "ComponentId", + orb.get_primitive_tc(TCKind.tk_ulong) + ); + } + + /** + * Insert the int into the given Any. + */ + public static void insert(Any any, int that) + { + any.insert_ulong(that); + } + + /** + * Extract the int from given Any. + * + * @throws BAD_OPERATION if the passed Any does not contain int. + */ + public static int extract(Any any) + { + return any.extract_ulong(); + } + + /** + * Get the int repository id. + * + * @return "IDL:omg.org/IOP/ComponentId:1.0", always. + */ + public static String id() + { + return "IDL:omg.org/IOP/ComponentId:1.0"; + } + + /** + * Read the ComponentId from the CDR intput stream. + * + * @param input a org.omg.CORBA.portable stream to read from. + */ + public static int read(InputStream input) + { + return input.read_ulong(); + } + + /** + * Write the ComponentId to the CDR output stream (as int). + * + * @param output a org.omg.CORBA.portable stream stream to write into. + * @param value a value to write. + */ + public static void write(OutputStream output, int value) + { + output.write_ulong(value); + } +}
\ No newline at end of file |