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

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