diff options
Diffstat (limited to 'org/omg/IOP/TaggedComponentHelper.java')
-rw-r--r-- | org/omg/IOP/TaggedComponentHelper.java | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/org/omg/IOP/TaggedComponentHelper.java b/org/omg/IOP/TaggedComponentHelper.java index eaee120f0..633891b9b 100644 --- a/org/omg/IOP/TaggedComponentHelper.java +++ b/org/omg/IOP/TaggedComponentHelper.java @@ -39,6 +39,7 @@ exception statement from your version. */ package org.omg.IOP; import gnu.CORBA.Minor; +import gnu.CORBA.OrbRestricted; import org.omg.CORBA.Any; import org.omg.CORBA.BAD_OPERATION; @@ -60,34 +61,25 @@ import java.io.IOException; public abstract class TaggedComponentHelper { /** - * The cached typecode value, computed only once. - */ - private static TypeCode typeCode; - - /** * Create the TaggedComponent typecode (structure, named "TaggedComponent"). * The typecode states that the structure contains the following fields: tag, * component_data. */ 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/IOP/ComponentId:1.0", - "ComponentId", - orb.get_primitive_tc(TCKind.tk_ulong)); - members[0] = new StructMember("tag", field, null); - - field = orb.create_sequence_tc(0, orb.get_primitive_tc(TCKind.tk_octet)); - members[1] = new StructMember("component_data", field, null); - typeCode = orb.create_struct_tc(id(), "TaggedComponent", members); - } - return typeCode; + ORB orb = OrbRestricted.Singleton; + StructMember[] members = new StructMember[2]; + + TypeCode field; + + field = orb.create_alias_tc("IDL:omg.org/IOP/ComponentId:1.0", + "ComponentId", + orb.get_primitive_tc(TCKind.tk_ulong)); + members[0] = new StructMember("tag", field, null); + + field = orb.create_sequence_tc(0, orb.get_primitive_tc(TCKind.tk_octet)); + members[1] = new StructMember("component_data", field, null); + return orb.create_struct_tc(id(), "TaggedComponent", members); } /** |