org.omg.CORBA

Class StringValueHelper

Implemented Interfaces:
BoxedValueHelper

public class StringValueHelper
extends Object
implements BoxedValueHelper

Provides helper operations for the String value type, treating a String as a CORBA value type rather than as a primitive type. The OMG specification states this may be convenient in some specific cases. The typecode is different, but the reading/writing format in this implementation is the same as for the ordinary string. This is that Sun's IDL compiler (v1.4) would generate.

Method Summary

static String
extract(Any an_any)
Extract the string from the given Any.
String
get_id()
Returns the String Value repository Id.
static String
id()
Returns the String Value repository Id.
static void
insert(Any an_any, String that)
Insert the string into the given Any.
static String
read(InputStream in)
Reads a string as a value type.
Serializable
read_value(InputStream istream)
Read the string value from the input stream.
static TypeCode
type()
Create and return the value box typecode, named "StringValue", with the content typecode being unbounded string.
static void
write(OutputStream out, String a_string)
Writes a string as a value type.
void
write_value(OutputStream ostream, Serializable a_string)
Write the given string value into the output stream.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

extract

public static String extract(Any an_any)
Extract the string from the given Any. The operation requires Any to hold a String value and not a String.
Parameters:
an_any - an Any to extract from.
Returns:
the extracted string.

get_id

public String get_id()
Returns the String Value repository Id.
Specified by:
get_id in interface BoxedValueHelper
Returns:
"IDL:omg.org/CORBA/StringValue:1.0", always.

id

public static String id()
Returns the String Value repository Id.
Returns:
"IDL:omg.org/CORBA/StringValue:1.0", always.

insert

public static void insert(Any an_any,
                          String that)
Insert the string into the given Any. After the operation, the Any will have a String Value typecode and not a String typecode.
Parameters:
an_any - an Any to insert into.
that - a string to insert.

read

public static String read(InputStream in)
Reads a string as a value type.
Parameters:
in - a stream to read value from.

read_value

public Serializable read_value(InputStream istream)
Read the string value from the input stream.
Specified by:
read_value in interface BoxedValueHelper
Parameters:
istream - a stream to read from.
Returns:
a string (delegates to read_string()).

type

public static TypeCode type()
Create and return the value box typecode, named "StringValue", with the content typecode being unbounded string.

write

public static void write(OutputStream out,
                         String a_string)
Writes a string as a value type.
Parameters:
out - a stream to write value into.
a_string - a string to write.

write_value

public void write_value(OutputStream ostream,
                        Serializable a_string)
Write the given string value into the output stream.
Specified by:
write_value in interface BoxedValueHelper
Parameters:
ostream - a stream to write into.
a_string - a string to write.

StringValueHelper.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.