Package io.protostuff.runtime
Class RuntimeFieldFactory<V>
- java.lang.Object
-
- io.protostuff.runtime.RuntimeFieldFactory<V>
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.HashMap<java.lang.String,RuntimeFieldFactory<?>>
__inlineValues
(package private) static Accessor.Factory
ACCESSOR_FACTORY
(package private) static RuntimeFieldFactory<java.math.BigDecimal>
BIGDECIMAL
(package private) static RuntimeFieldFactory<java.math.BigInteger>
BIGINTEGER
(package private) static RuntimeFieldFactory<java.lang.Boolean>
BOOL
(package private) static RuntimeFieldFactory<java.lang.Byte>
BYTE
(package private) static RuntimeFieldFactory<byte[]>
BYTE_ARRAY
(package private) static RuntimeFieldFactory<ByteString>
BYTES
(package private) static RuntimeFieldFactory<java.lang.Character>
CHAR
(package private) static RuntimeFieldFactory<java.util.Collection<?>>
COLLECTION
(package private) static RuntimeFieldFactory<java.util.Date>
DATE
(package private) static RuntimeFieldFactory<java.lang.Object>
DELEGATE
(package private) static RuntimeFieldFactory<java.lang.Double>
DOUBLE
(package private) static RuntimeFieldFactory<java.lang.Integer>
ENUM
(package private) static RuntimeFieldFactory<java.lang.Float>
FLOAT
(package private) int
id
Used byObjectSchema
to serialize dynamic (polymorphic) fields.(package private) static int
ID_ARRAY
(package private) static int
ID_ARRAY_DELEGATE
(package private) static int
ID_ARRAY_ENUM
(package private) static int
ID_ARRAY_MAPPED
(package private) static int
ID_ARRAY_POJO
(package private) static int
ID_ARRAY_SCALAR
(package private) static int
ID_BIGDECIMAL
(package private) static int
ID_BIGINTEGER
(package private) static int
ID_BOOL
(package private) static int
ID_BYTE
(package private) static int
ID_BYTE_ARRAY
(package private) static int
ID_BYTES
(package private) static int
ID_CHAR
(package private) static int
ID_CLASS
(package private) static int
ID_CLASS_ARRAY
(package private) static int
ID_CLASS_ARRAY_MAPPED
(package private) static int
ID_CLASS_MAPPED
(package private) static int
ID_COLLECTION
(package private) static int
ID_DATE
(package private) static int
ID_DELEGATE
(package private) static int
ID_DOUBLE
(package private) static int
ID_ENUM
(package private) static int
ID_ENUM_MAP
(package private) static int
ID_ENUM_SET
(package private) static int
ID_FLOAT
(package private) static int
ID_INT32
(package private) static int
ID_INT64
(package private) static int
ID_MAP
(package private) static int
ID_OBJECT
(package private) static int
ID_POJO
(package private) static int
ID_POLYMORPHIC_COLLECTION
(package private) static int
ID_POLYMORPHIC_MAP
(package private) static int
ID_SHORT
(package private) static int
ID_STRING
(package private) static int
ID_THROWABLE
(package private) static RuntimeFieldFactory<java.lang.Integer>
INT32
(package private) static RuntimeFieldFactory<java.lang.Long>
INT64
(package private) static RuntimeFieldFactory<java.lang.Object>
OBJECT
(package private) static RuntimeFieldFactory<java.lang.Object>
POJO
(package private) static RuntimeFieldFactory<java.lang.Object>
POLYMORPHIC_POJO
(package private) static RuntimeFieldFactory<java.lang.Short>
SHORT
(package private) static java.lang.String
STR_ARRAY
(package private) static java.lang.String
STR_ARRAY_DELEGATE
(package private) static java.lang.String
STR_ARRAY_ENUM
(package private) static java.lang.String
STR_ARRAY_MAPPED
(package private) static java.lang.String
STR_ARRAY_POJO
(package private) static java.lang.String
STR_ARRAY_SCALAR
(package private) static java.lang.String
STR_BIGDECIMAL
(package private) static java.lang.String
STR_BIGINTEGER
(package private) static java.lang.String
STR_BOOL
(package private) static java.lang.String
STR_BYTE
(package private) static java.lang.String
STR_BYTE_ARRAY
(package private) static java.lang.String
STR_BYTES
(package private) static java.lang.String
STR_CHAR
(package private) static java.lang.String
STR_CLASS
(package private) static java.lang.String
STR_CLASS_ARRAY
(package private) static java.lang.String
STR_CLASS_ARRAY_MAPPED
(package private) static java.lang.String
STR_CLASS_MAPPED
(package private) static java.lang.String
STR_COLLECTION
(package private) static java.lang.String
STR_DATE
(package private) static java.lang.String
STR_DELEGATE
(package private) static java.lang.String
STR_DOUBLE
(package private) static java.lang.String
STR_ENUM
(package private) static java.lang.String
STR_ENUM_MAP
(package private) static java.lang.String
STR_ENUM_SET
(package private) static java.lang.String
STR_FLOAT
(package private) static java.lang.String
STR_INT32
(package private) static java.lang.String
STR_INT64
(package private) static java.lang.String
STR_MAP
(package private) static java.lang.String
STR_OBJECT
(package private) static java.lang.String
STR_POJO
(package private) static java.lang.String
STR_POLYMOPRHIC_MAP
(package private) static java.lang.String
STR_POLYMORPHIC_COLLECTION
(package private) static java.lang.String
STR_SHORT
(package private) static java.lang.String
STR_STRING
(package private) static java.lang.String
STR_THROWABLE
(package private) static RuntimeFieldFactory<java.lang.String>
STRING
-
Constructor Summary
Constructors Constructor Description RuntimeFieldFactory(int id)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract <T> Field<T>
create(int number, java.lang.String name, java.lang.reflect.Field field, IdStrategy strategy)
Creates a runtimefield
based on reflection.(package private) static <T> Delegate<T>
getDelegateOrInline(java.lang.Class<T> typeClass, IdStrategy strategy)
static RuntimeFieldFactory<?>
getFieldFactory(java.lang.Class<?> clazz)
Gets the runtime field factory of the givenclazz
.static RuntimeFieldFactory<?>
getFieldFactory(java.lang.Class<?> clazz, IdStrategy strategy)
Gets the runtime field factory of the givenclazz
.(package private) static java.lang.Class<?>
getGenericType(java.lang.reflect.Field f, int index)
static <T> RuntimeFieldFactory<T>
getInline(java.lang.Class<T> typeClass)
Returns the factory for inline (scalar) values.(package private) static <T> RuntimeFieldFactory<T>
getInline(java.lang.String className)
Returns the factory for inline (scalar) values.(package private) static boolean
pojo(java.lang.Class<?> clazz, Morph morph, IdStrategy strategy)
-
-
-
Field Detail
-
ID_BOOL
static final int ID_BOOL
- See Also:
- Constant Field Values
-
ID_BYTE
static final int ID_BYTE
- See Also:
- Constant Field Values
-
ID_CHAR
static final int ID_CHAR
- See Also:
- Constant Field Values
-
ID_SHORT
static final int ID_SHORT
- See Also:
- Constant Field Values
-
ID_INT32
static final int ID_INT32
- See Also:
- Constant Field Values
-
ID_INT64
static final int ID_INT64
- See Also:
- Constant Field Values
-
ID_FLOAT
static final int ID_FLOAT
- See Also:
- Constant Field Values
-
ID_DOUBLE
static final int ID_DOUBLE
- See Also:
- Constant Field Values
-
ID_STRING
static final int ID_STRING
- See Also:
- Constant Field Values
-
ID_BYTES
static final int ID_BYTES
- See Also:
- Constant Field Values
-
ID_BYTE_ARRAY
static final int ID_BYTE_ARRAY
- See Also:
- Constant Field Values
-
ID_BIGDECIMAL
static final int ID_BIGDECIMAL
- See Also:
- Constant Field Values
-
ID_BIGINTEGER
static final int ID_BIGINTEGER
- See Also:
- Constant Field Values
-
ID_DATE
static final int ID_DATE
- See Also:
- Constant Field Values
-
ID_ARRAY
static final int ID_ARRAY
- See Also:
- Constant Field Values
-
ID_OBJECT
static final int ID_OBJECT
- See Also:
- Constant Field Values
-
ID_ARRAY_MAPPED
static final int ID_ARRAY_MAPPED
- See Also:
- Constant Field Values
-
ID_CLASS
static final int ID_CLASS
- See Also:
- Constant Field Values
-
ID_CLASS_MAPPED
static final int ID_CLASS_MAPPED
- See Also:
- Constant Field Values
-
ID_CLASS_ARRAY
static final int ID_CLASS_ARRAY
- See Also:
- Constant Field Values
-
ID_CLASS_ARRAY_MAPPED
static final int ID_CLASS_ARRAY_MAPPED
- See Also:
- Constant Field Values
-
ID_ENUM_SET
static final int ID_ENUM_SET
- See Also:
- Constant Field Values
-
ID_ENUM_MAP
static final int ID_ENUM_MAP
- See Also:
- Constant Field Values
-
ID_ENUM
static final int ID_ENUM
- See Also:
- Constant Field Values
-
ID_COLLECTION
static final int ID_COLLECTION
- See Also:
- Constant Field Values
-
ID_MAP
static final int ID_MAP
- See Also:
- Constant Field Values
-
ID_POLYMORPHIC_COLLECTION
static final int ID_POLYMORPHIC_COLLECTION
- See Also:
- Constant Field Values
-
ID_POLYMORPHIC_MAP
static final int ID_POLYMORPHIC_MAP
- See Also:
- Constant Field Values
-
ID_DELEGATE
static final int ID_DELEGATE
- See Also:
- Constant Field Values
-
ID_ARRAY_DELEGATE
static final int ID_ARRAY_DELEGATE
- See Also:
- Constant Field Values
-
ID_ARRAY_SCALAR
static final int ID_ARRAY_SCALAR
- See Also:
- Constant Field Values
-
ID_ARRAY_ENUM
static final int ID_ARRAY_ENUM
- See Also:
- Constant Field Values
-
ID_ARRAY_POJO
static final int ID_ARRAY_POJO
- See Also:
- Constant Field Values
-
ID_THROWABLE
static final int ID_THROWABLE
- See Also:
- Constant Field Values
-
ID_POJO
static final int ID_POJO
- See Also:
- Constant Field Values
-
STR_BOOL
static final java.lang.String STR_BOOL
- See Also:
- Constant Field Values
-
STR_BYTE
static final java.lang.String STR_BYTE
- See Also:
- Constant Field Values
-
STR_CHAR
static final java.lang.String STR_CHAR
- See Also:
- Constant Field Values
-
STR_SHORT
static final java.lang.String STR_SHORT
- See Also:
- Constant Field Values
-
STR_INT32
static final java.lang.String STR_INT32
- See Also:
- Constant Field Values
-
STR_INT64
static final java.lang.String STR_INT64
- See Also:
- Constant Field Values
-
STR_FLOAT
static final java.lang.String STR_FLOAT
- See Also:
- Constant Field Values
-
STR_DOUBLE
static final java.lang.String STR_DOUBLE
- See Also:
- Constant Field Values
-
STR_STRING
static final java.lang.String STR_STRING
- See Also:
- Constant Field Values
-
STR_BYTES
static final java.lang.String STR_BYTES
- See Also:
- Constant Field Values
-
STR_BYTE_ARRAY
static final java.lang.String STR_BYTE_ARRAY
- See Also:
- Constant Field Values
-
STR_BIGDECIMAL
static final java.lang.String STR_BIGDECIMAL
- See Also:
- Constant Field Values
-
STR_BIGINTEGER
static final java.lang.String STR_BIGINTEGER
- See Also:
- Constant Field Values
-
STR_DATE
static final java.lang.String STR_DATE
- See Also:
- Constant Field Values
-
STR_ARRAY
static final java.lang.String STR_ARRAY
- See Also:
- Constant Field Values
-
STR_OBJECT
static final java.lang.String STR_OBJECT
- See Also:
- Constant Field Values
-
STR_ARRAY_MAPPED
static final java.lang.String STR_ARRAY_MAPPED
- See Also:
- Constant Field Values
-
STR_CLASS
static final java.lang.String STR_CLASS
- See Also:
- Constant Field Values
-
STR_CLASS_MAPPED
static final java.lang.String STR_CLASS_MAPPED
- See Also:
- Constant Field Values
-
STR_CLASS_ARRAY
static final java.lang.String STR_CLASS_ARRAY
- See Also:
- Constant Field Values
-
STR_CLASS_ARRAY_MAPPED
static final java.lang.String STR_CLASS_ARRAY_MAPPED
- See Also:
- Constant Field Values
-
STR_ENUM_SET
static final java.lang.String STR_ENUM_SET
- See Also:
- Constant Field Values
-
STR_ENUM_MAP
static final java.lang.String STR_ENUM_MAP
- See Also:
- Constant Field Values
-
STR_ENUM
static final java.lang.String STR_ENUM
- See Also:
- Constant Field Values
-
STR_COLLECTION
static final java.lang.String STR_COLLECTION
- See Also:
- Constant Field Values
-
STR_MAP
static final java.lang.String STR_MAP
- See Also:
- Constant Field Values
-
STR_POLYMORPHIC_COLLECTION
static final java.lang.String STR_POLYMORPHIC_COLLECTION
- See Also:
- Constant Field Values
-
STR_POLYMOPRHIC_MAP
static final java.lang.String STR_POLYMOPRHIC_MAP
- See Also:
- Constant Field Values
-
STR_DELEGATE
static final java.lang.String STR_DELEGATE
- See Also:
- Constant Field Values
-
STR_ARRAY_DELEGATE
static final java.lang.String STR_ARRAY_DELEGATE
- See Also:
- Constant Field Values
-
STR_ARRAY_SCALAR
static final java.lang.String STR_ARRAY_SCALAR
- See Also:
- Constant Field Values
-
STR_ARRAY_ENUM
static final java.lang.String STR_ARRAY_ENUM
- See Also:
- Constant Field Values
-
STR_ARRAY_POJO
static final java.lang.String STR_ARRAY_POJO
- See Also:
- Constant Field Values
-
STR_THROWABLE
static final java.lang.String STR_THROWABLE
- See Also:
- Constant Field Values
-
STR_POJO
static final java.lang.String STR_POJO
- See Also:
- Constant Field Values
-
__inlineValues
private static final java.util.HashMap<java.lang.String,RuntimeFieldFactory<?>> __inlineValues
-
BIGDECIMAL
static final RuntimeFieldFactory<java.math.BigDecimal> BIGDECIMAL
-
BIGINTEGER
static final RuntimeFieldFactory<java.math.BigInteger> BIGINTEGER
-
BOOL
static final RuntimeFieldFactory<java.lang.Boolean> BOOL
-
BYTE
static final RuntimeFieldFactory<java.lang.Byte> BYTE
-
BYTES
static final RuntimeFieldFactory<ByteString> BYTES
-
BYTE_ARRAY
static final RuntimeFieldFactory<byte[]> BYTE_ARRAY
-
CHAR
static final RuntimeFieldFactory<java.lang.Character> CHAR
-
DATE
static final RuntimeFieldFactory<java.util.Date> DATE
-
DOUBLE
static final RuntimeFieldFactory<java.lang.Double> DOUBLE
-
FLOAT
static final RuntimeFieldFactory<java.lang.Float> FLOAT
-
INT32
static final RuntimeFieldFactory<java.lang.Integer> INT32
-
INT64
static final RuntimeFieldFactory<java.lang.Long> INT64
-
SHORT
static final RuntimeFieldFactory<java.lang.Short> SHORT
-
STRING
static final RuntimeFieldFactory<java.lang.String> STRING
-
ENUM
static final RuntimeFieldFactory<java.lang.Integer> ENUM
-
OBJECT
static final RuntimeFieldFactory<java.lang.Object> OBJECT
-
POJO
static final RuntimeFieldFactory<java.lang.Object> POJO
-
POLYMORPHIC_POJO
static final RuntimeFieldFactory<java.lang.Object> POLYMORPHIC_POJO
-
COLLECTION
static final RuntimeFieldFactory<java.util.Collection<?>> COLLECTION
-
DELEGATE
static final RuntimeFieldFactory<java.lang.Object> DELEGATE
-
ACCESSOR_FACTORY
static final Accessor.Factory ACCESSOR_FACTORY
-
id
final int id
Used byObjectSchema
to serialize dynamic (polymorphic) fields.
-
-
Method Detail
-
getFieldFactory
public static RuntimeFieldFactory<?> getFieldFactory(java.lang.Class<?> clazz)
Gets the runtime field factory of the givenclazz
.Method overload for backwards compatibility.
-
getFieldFactory
public static RuntimeFieldFactory<?> getFieldFactory(java.lang.Class<?> clazz, IdStrategy strategy)
Gets the runtime field factory of the givenclazz
.
-
pojo
static boolean pojo(java.lang.Class<?> clazz, Morph morph, IdStrategy strategy)
-
getGenericType
static java.lang.Class<?> getGenericType(java.lang.reflect.Field f, int index)
-
getDelegateOrInline
static <T> Delegate<T> getDelegateOrInline(java.lang.Class<T> typeClass, IdStrategy strategy)
-
getInline
public static <T> RuntimeFieldFactory<T> getInline(java.lang.Class<T> typeClass)
Returns the factory for inline (scalar) values.
-
getInline
static <T> RuntimeFieldFactory<T> getInline(java.lang.String className)
Returns the factory for inline (scalar) values.
-
create
public abstract <T> Field<T> create(int number, java.lang.String name, java.lang.reflect.Field field, IdStrategy strategy)
Creates a runtimefield
based on reflection.
-
-