thrift/test/OptionalRequiredTest.thrift
David Reiss 3b15ebc251 Add support for .equals() to Java structs.
- Add a new method to t_java_generator that generates a .equals() method.
- Add a correct but useless implementation of hashCode for structs.
  (This is required by conventino when overriding .equals().)
- Add java_package to DebugProtoTest and OptionalRequiredTest.
- Add a new structure to OptionalRequiredTest to assist testing the behavior
  of .equals() with respect to null and unset fields.
- Clean up test/java/build.xml a bit.  (It still has a ways to go.)
- Add EqualityTest.java to test .equals().
- Add IdentityTest.java to test that writing and reading a structure
  preserves equality.

Tested by runnint atn test.
I also looked at the generated code for OptionalRequiredTest.thrift.


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665541 13f79535-47bb-0310-9956-ffa450edef68
2008-03-02 06:29:19 +00:00

54 lines
997 B
Thrift

namespace cpp thrift.test
namespace java thrift.test
struct OldSchool {
1: i16 im_int;
2: string im_str;
3: list<map<i32,string>> im_big;
}
struct Simple {
1: /* :) */ i16 im_default;
2: required i16 im_required;
3: optional i16 im_optional;
}
struct Tricky1 {
1: /* :) */ i16 im_default;
}
struct Tricky2 {
1: optional i16 im_optional;
}
struct Tricky3 {
1: required i16 im_required;
}
struct Complex {
1: i16 cp_default;
2: required i16 cp_required;
3: optional i16 cp_optional;
4: map<i16,Simple> the_map;
5: required Simple req_simp;
6: optional Simple opt_simp;
}
struct ManyOpt {
1: optional i32 opt1;
2: optional i32 opt2;
3: optional i32 opt3;
4: i32 def4;
5: optional i32 opt5;
6: optional i32 opt6;
}
struct JavaTestHelper {
1: required i32 req_int;
2: optional i32 opt_int;
3: required string req_obj;
4: optional string opt_obj;
5: required binary req_bin;
6: optional binary opt_bin;
}