THRIFT-253. java: Enhance FieldMetaData
authorBryan Duxbury <bryanduxbury@apache.org>
Thu, 29 Jan 2009 01:51:08 +0000 (01:51 +0000)
committerBryan Duxbury <bryanduxbury@apache.org>
Thu, 29 Jan 2009 01:51:08 +0000 (01:51 +0000)
commit986d705578f7c3189b076b43097da0ff2f5d648e
tree7aee1c12f09a9446067864ccbef6a5f108647adb
parent9a75aa51922c53d2dd010cbf962bdcd2302833aa
THRIFT-253. java: Enhance FieldMetaData

The code generator new creates a static map of field id to metadata for each field, including information like the field TType, class of embedded structs, required/optional/default, etc. Additionally, on loading, generated classes statically register their class and metadata map with the global FieldMetaData map, so you can get the metadata for any TBase-implementing class easily.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@738708 13f79535-47bb-0310-9956-ffa450edef68
12 files changed:
compiler/cpp/src/generate/t_java_generator.cc
lib/java/build.xml
lib/java/src/org/apache/thrift/FieldMetaData.java
lib/java/src/org/apache/thrift/TFieldRequirementType.java [new file with mode: 0644]
lib/java/src/org/apache/thrift/meta_data/FieldMetaData.java [new file with mode: 0644]
lib/java/src/org/apache/thrift/meta_data/FieldValueMetaData.java [new file with mode: 0644]
lib/java/src/org/apache/thrift/meta_data/ListMetaData.java [new file with mode: 0644]
lib/java/src/org/apache/thrift/meta_data/MapMetaData.java [new file with mode: 0644]
lib/java/src/org/apache/thrift/meta_data/SetMetaData.java [new file with mode: 0644]
lib/java/src/org/apache/thrift/meta_data/StructMetaData.java [new file with mode: 0644]
lib/java/test/org/apache/thrift/test/MetaDataTest.java [new file with mode: 0644]
test/ThriftTest.thrift