ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

12.1.2 TypeCodeインタフェース

  TypeCodeは以下のようなインタフェースを提供しています。

  module CORBA{
      enum TCKind{
          tk_null, tk_void, 
          tk_short, tk_long, tk_ushort, tk_ulong, 
          tk_float, tk_double, tk_boolean, tk_char, 
          tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, 
          tk_struct, tk_union, tk_enum, tk_string, 
          tk_sequence, tk_array, tk_alias, tk_except
      };

      interface TypeCode{
          exception Bounds{};
          exception BadKind{};

          boolean        equal( in TypeCode tc ); 

          TCKind         kind();

          RepositoryId   id()
              raises( BadKind ); 

          Identifier     name()
              raises( BadKind ); 

          unsigned long  member_count()
              raises( BadKind, Bounds ); 

          Identifier     member_name(
              in unsigned long index ) 
              raises( BadKind, Bounds ); 

          TypeCode       member_type(
              in unsigned long index ) 
              raises( BadKind, Bounds ); 

          any            member_label(
              in unsigned long index ) 
              raises( BadKind, Bounds ); 

          TypeCode       discriminator_type()
              raises( BadKind ); 

          long           default_index()
              raises( BadKind ); 

          unsigned long  length()
              raises( BadKind ); 

          TypeCode       content_type()
              raises( BadKind ); 

          long           param_count();

          any            parameter( in long index ) 
              raises( Bounds ); 
      };
  };

  TypeCodeインタフェースの機能説明を以下に示します。

TypeCodeのメソッド

機能説明

equal

指定されたTypeCodeが等しいか比較します。

kind

TypeCodeの指すデータ型の数値を返します。

id

TypeCodeの指すデータ型のリポジトリIDを返します。

name

TypeCodeの指すデータ型の名前を返します。

member_count

TypeCodeの指すデータ型に含まれるメンバの数を返します。

member_name

指定したメンバの名前を返します。

member_type

指定したメンバのTypeCodeを返します。

member_label

指定したメンバのラベルを返します。

discriminator_type

弁別情報定義のTypeCodeを返します。

default_index

defaultメンバのインデックスを返します。

length

TypeCodeオブジェクトの長さ(要素数)を返します。

content_type

メンバのTypeCodeを返します。


  各データ型で使用できるTypeCodeインタフェースを以下に示します。

  

string

enum

sequence

struct

union

array

alias

ObjectRef

exception

id

  

  

  

name

  

  

member_count

  

  

  

  

  

member_name

  

  

  

  

  

member_type

  

  

  

  

  

member_label

  

  

  

×

  

  

  

  

discriminator_type

  

  

  

×

  

  

  

  

default_index

  

  

  

  

  

  

  

  

length

  

  

  

  

  

  

content_type