thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Avinash Dongre <dongre.avin...@gmail.com>
Subject Generic Data types design
Date Thu, 11 Apr 2013 18:04:00 GMT
Hi
I need to design a generic data type in Thrift IDL
Following is what I have come up with. I need some experts to review the
same.

/**
 * wraper over various type declaration
 */
struct BoolType {
    1: required string name,
    2: required list<bool> val
}
struct ByteType {
    1: required string name,
    2: required list<byte> val
}
struct ShortType {
    1: required string name,
    2: required list<i16> val
}
struct IntType {
    1: required string name,
    2: required list<i32> val
}
struct LongType {
    1: required string name,
    2: required list<i64> val
}
struct DoubleType {
    1: required string name,
    2: required list<double> val
}
struct StringType {
    1: required string name,
    2: required list<string> val
}
struct BinaryType {
    1: required string name,
    2: required list<binary> val
}

union BasicType {
    1: BoolType        vBool,
    2: ByteType        vByte,
    3: IntType        vInt,
    4: LongType        vLong,
    5: DoubleType    vDouble,
    6: StringType    vString,
    7: BinaryType   vBinary
}

struct CompoundType {
    1: BoolType     vBool,
    2: ByteType        vByte,
    3: IntType        vInt,
    4: LongType        vLong,
    5: DoubleType    vDouble,
    6: StringType    vString,
    7: BinaryType   vBinary
}

union TObject {
    1: BasicType    vBasicType,
    2: CompoundType vCompoundType
}

TObject is something which I want to use in my Service API

Thanks
Avinash

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message