Package org.apache.thrift.meta_data
Class FieldMetaData
- java.lang.Object
-
- org.apache.thrift.meta_data.FieldMetaData
-
- All Implemented Interfaces:
java.io.Serializable
public class FieldMetaData extends java.lang.Object implements java.io.SerializableThis class is used to store meta data about thrift fields. Every field in a a struct should have a corresponding instance of this class describing it.The meta data is registered by ALL Thrift struct classes via a static {...} initializer block in the generated Thrift code.
Since different threads could be initializing different Thrift classes, calls to the public static methods of this class could be racy.
All methods of this class should be made thread safe.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.StringfieldNamebyterequirementTypeFieldValueMetaDatavalueMetaData
-
Constructor Summary
Constructors Constructor Description FieldMetaData(java.lang.String name, byte req, FieldValueMetaData vMetaData)FieldMetaData(java.lang.String fieldName, byte requirementType, FieldValueMetaData valueMetaData, java.util.Map<java.lang.String,java.lang.String> fieldAnnotations)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T extends TBase<T,F>,F extends TFieldIdEnum>
voidaddStructMetaDataMap(java.lang.Class<T> sClass, java.util.Map<F,FieldMetaData> map)java.util.Map<java.lang.String,java.lang.String>getFieldAnnotations()static <T extends TBase<T,F>,F extends TFieldIdEnum>
java.util.Map<F,FieldMetaData>getStructMetaDataMap(java.lang.Class<T> sClass)Returns a map with metadata (i.e. instances of FieldMetaData) that describe the fields of the given class.
-
-
-
Field Detail
-
fieldName
public final java.lang.String fieldName
-
requirementType
public final byte requirementType
-
valueMetaData
public final FieldValueMetaData valueMetaData
-
-
Constructor Detail
-
FieldMetaData
public FieldMetaData(java.lang.String name, byte req, FieldValueMetaData vMetaData)
-
FieldMetaData
public FieldMetaData(java.lang.String fieldName, byte requirementType, FieldValueMetaData valueMetaData, java.util.Map<java.lang.String,java.lang.String> fieldAnnotations)
-
-
Method Detail
-
getFieldAnnotations
public java.util.Map<java.lang.String,java.lang.String> getFieldAnnotations()
- Returns:
- an unmodifiable view of the annotations for this field, empty if no annotations present or code gen param is not turned on
-
addStructMetaDataMap
public static <T extends TBase<T,F>,F extends TFieldIdEnum> void addStructMetaDataMap(java.lang.Class<T> sClass, java.util.Map<F,FieldMetaData> map)
-
getStructMetaDataMap
public static <T extends TBase<T,F>,F extends TFieldIdEnum> java.util.Map<F,FieldMetaData> getStructMetaDataMap(java.lang.Class<T> sClass)
Returns a map with metadata (i.e. instances of FieldMetaData) that describe the fields of the given class.- Parameters:
sClass- The TBase class for which the metadata map is requested. It is not guaranteed that sClass will have been statically initialized before this method is called. A racy call toaddStructMetaDataMap(Class, Map)from a different thread during static initialization of the Thrift class is possible.
-
-