abstract public class CatalogItemHelper {
  private static org.omg.CORBA.ORB _orb() {
    return org.omg.CORBA.ORB.init();
  }
  public static CatalogItem read(org.omg.CORBA.portable.InputStream _input) {
    return (CatalogItem) _input.read_estruct("CatalogItem");
  }
  public static void write(org.omg.CORBA.portable.OutputStream _output, CatalogItem value) {
    _output.write_estruct(value, "CatalogItem");
  }
  public static void insert(org.omg.CORBA.Any any, CatalogItem value) {
    org.omg.CORBA.portable.OutputStream output = any.create_output_stream();
    write(output, value);
    any.read_value(output.create_input_stream(), type());
  }
  public static CatalogItem extract(org.omg.CORBA.Any any) {
    if(!any.type().equal(type())) {
      throw new org.omg.CORBA.BAD_TYPECODE();
    }
    return read(any.create_input_stream());
  }
  private static org.omg.CORBA.TypeCode _type;
  public static org.omg.CORBA.TypeCode type() {
    if(_type == null) {
      org.omg.CORBA.StructMember[] members = new org.omg.CORBA.StructMember[2];
      members[0] = new org.omg.CORBA.StructMember("price", _orb().get_primitive_tc(org.omg.CORBA.TCKind.tk_double), null);
      members[1] = new org.omg.CORBA.StructMember("quantity", _orb().get_primitive_tc(org.omg.CORBA.TCKind.tk_long), null);
      _type = _orb().create_estruct_tc(id(), "CatalogItem", null, members);
    }
    return _type;
  }
  public static java.lang.String id() {
    return "IDL:CatalogItem:1.0";
  }
}
