2011-06-30 3 views
1

他の誰かがthriftIDLから下位のJavaクラスを生成しようとしている場合には、初心者向けの質問です。私はそれが割り当てられている32ビットの非負の整数値のみをサポートして参照してください。これは、他の言語の下で列挙型のサポートが不足しているためですか?私は、この種のIDLが倹約で済むかどうかは分かりませんでした。データと振る舞いを持つスリルの列挙型の定義

public enum ExceptionTypes { 

     ERROR_THIS("APP_EXP_001","Some message"), ERROR_THAT(...etc 

    private String errorCode; 

    private String defaultMessage; 

    private ExceptionTypes(String errorCode, String defaultMessage) { 
     this.errorCode = errorCode; 
     this.defaultMessage = defaultMessage; 
    } 

    public String getErrorCode() { 
     return this.errorCode; 
    } 

    public String getDefaultMessage() { 
     return this.defaultMessage; 
    } 
} 

答えて

1

Thirftの列挙型に動作の説明を追加する方法はありません。これは、主にThirftが小さくて、多くの言語に適用できるようにしたためです。

ただし、thirftを指定すると、上記のような1つのjava enumを作成するコンストラクタを自分で記述することができます。これは、スリフト層からデータを受け取った後で、コードに1つの処理レイヤーを追加しますが、実際の使用例では、ワイヤー上で使用されるデータ構造はアプリ内で使用されるデータ構造と全く同じです。

Thirft(および任意のrpc、CORBAまたは類似のレイヤー)は、ネットワークコードを簡素化し、堅牢性を追加し、その存在を隠さないために忘れられるようにします。

関連する問題