Package io.protostuff.runtime
Class PolymorphicCollectionSchema
- java.lang.Object
-
- io.protostuff.runtime.PolymorphicSchema
-
- io.protostuff.runtime.PolymorphicCollectionSchema
-
- All Implemented Interfaces:
Schema<java.lang.Object>
public abstract class PolymorphicCollectionSchema extends PolymorphicSchema
Used when the type is an interface (Collection/List/Set/SortedSet).
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.protostuff.runtime.PolymorphicSchema
PolymorphicSchema.Factory, PolymorphicSchema.Handler
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.util.IdentityHashMap<java.lang.Class<?>,java.lang.Integer>
__nonPublicCollections
(package private) static java.lang.reflect.Field
fCheckedCollection_c
(package private) static java.lang.reflect.Field
fCheckedCollection_type
(package private) static java.lang.reflect.Field
fCheckedList_list
(package private) static java.lang.reflect.Field
fCheckedSortedSet_ss
(package private) static java.lang.reflect.Field
fCopiesList_element
(package private) static java.lang.reflect.Field
fCopiesList_n
(package private) static java.lang.reflect.Field
fSetFromMap_m
(package private) static java.lang.reflect.Field
fSetFromMap_s
(package private) static java.lang.reflect.Field
fSingletonList_element
(package private) static java.lang.reflect.Field
fSingletonSet_element
(package private) static java.lang.reflect.Field
fSynchronizedCollection_c
(package private) static java.lang.reflect.Field
fSynchronizedCollection_mutex
(package private) static java.lang.reflect.Field
fSynchronizedList_list
(package private) static java.lang.reflect.Field
fSynchronizedSortedSet_ss
(package private) static java.lang.reflect.Field
fUnmodifiableCollection_c
(package private) static java.lang.reflect.Field
fUnmodifiableList_list
(package private) static java.lang.reflect.Field
fUnmodifiableSortedSet_ss
(package private) static RuntimeEnv.Instantiator<?>
iCheckedCollection
(package private) static RuntimeEnv.Instantiator<?>
iCheckedList
(package private) static RuntimeEnv.Instantiator<?>
iCheckedRandomAccessList
(package private) static RuntimeEnv.Instantiator<?>
iCheckedSet
(package private) static RuntimeEnv.Instantiator<?>
iCheckedSortedSet
(package private) static RuntimeEnv.Instantiator<?>
iCopiesList
(package private) static int
ID_CHECKED_COLLECTION
(package private) static int
ID_CHECKED_LIST
(package private) static int
ID_CHECKED_RANDOM_ACCESS_LIST
(package private) static int
ID_CHECKED_SET
(package private) static int
ID_CHECKED_SORTED_SET
(package private) static int
ID_COPIES_LIST
(package private) static int
ID_EMPTY_LIST
(package private) static int
ID_EMPTY_SET
(package private) static int
ID_SET_FROM_MAP
(package private) static int
ID_SINGLETON_LIST
(package private) static int
ID_SINGLETON_SET
(package private) static int
ID_SYNCHRONIZED_COLLECTION
(package private) static int
ID_SYNCHRONIZED_LIST
(package private) static int
ID_SYNCHRONIZED_RANDOM_ACCESS_LIST
(package private) static int
ID_SYNCHRONIZED_SET
(package private) static int
ID_SYNCHRONIZED_SORTED_SET
(package private) static int
ID_UNMODIFIABLE_COLLECTION
(package private) static int
ID_UNMODIFIABLE_LIST
(package private) static int
ID_UNMODIFIABLE_RANDOM_ACCESS_LIST
(package private) static int
ID_UNMODIFIABLE_SET
(package private) static int
ID_UNMODIFIABLE_SORTED_SET
(package private) static RuntimeEnv.Instantiator<?>
iSetFromMap
(package private) static RuntimeEnv.Instantiator<?>
iSingletonList
(package private) static RuntimeEnv.Instantiator<?>
iSingletonSet
(package private) static RuntimeEnv.Instantiator<?>
iSynchronizedCollection
(package private) static RuntimeEnv.Instantiator<?>
iSynchronizedList
(package private) static RuntimeEnv.Instantiator<?>
iSynchronizedRandomAccessList
(package private) static RuntimeEnv.Instantiator<?>
iSynchronizedSet
(package private) static RuntimeEnv.Instantiator<?>
iSynchronizedSortedSet
(package private) static RuntimeEnv.Instantiator<?>
iUnmodifiableCollection
(package private) static RuntimeEnv.Instantiator<?>
iUnmodifiableList
(package private) static RuntimeEnv.Instantiator<?>
iUnmodifiableRandomAccessList
(package private) static RuntimeEnv.Instantiator<?>
iUnmodifiableSet
(package private) static RuntimeEnv.Instantiator<?>
iUnmodifiableSortedSet
protected Pipe.Schema<java.lang.Object>
pipeSchema
(package private) static java.lang.String
STR_CHECKED_COLLECTION
(package private) static java.lang.String
STR_CHECKED_LIST
(package private) static java.lang.String
STR_CHECKED_RANDOM_ACCESS_LIST
(package private) static java.lang.String
STR_CHECKED_SET
(package private) static java.lang.String
STR_CHECKED_SORTED_SET
(package private) static java.lang.String
STR_COPIES_LIST
(package private) static java.lang.String
STR_EMPTY_LIST
(package private) static java.lang.String
STR_EMPTY_SET
(package private) static java.lang.String
STR_SET_FROM_MAP
(package private) static java.lang.String
STR_SINGLETON_LIST
(package private) static java.lang.String
STR_SINGLETON_SET
(package private) static java.lang.String
STR_SYNCHRONIZED_COLLECTION
(package private) static java.lang.String
STR_SYNCHRONIZED_LIST
(package private) static java.lang.String
STR_SYNCHRONIZED_RANDOM_ACCESS_LIST
(package private) static java.lang.String
STR_SYNCHRONIZED_SET
(package private) static java.lang.String
STR_SYNCHRONIZED_SORTED_SET
(package private) static java.lang.String
STR_UNMODIFIABLE_COLLECTION
(package private) static java.lang.String
STR_UNMODIFIABLE_LIST
(package private) static java.lang.String
STR_UNMODIFIABLE_RANDOM_ACCESS_LIST
(package private) static java.lang.String
STR_UNMODIFIABLE_SET
(package private) static java.lang.String
STR_UNMODIFIABLE_SORTED_SET
-
Fields inherited from class io.protostuff.runtime.PolymorphicSchema
strategy
-
-
Constructor Summary
Constructors Constructor Description PolymorphicCollectionSchema(IdStrategy strategy)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getFieldName(int number)
Gets the field name associated with the number.int
getFieldNumber(java.lang.String name)
Gets the field number associated with the name.Pipe.Schema<java.lang.Object>
getPipeSchema()
The pipe schema associated with this schema.(package private) static int
idFrom(java.lang.Class<?> clazz)
(package private) static java.lang.Object
instanceFrom(int id)
private static java.lang.Class<?>
map(java.lang.String className, int id)
void
mergeFrom(Input input, java.lang.Object owner)
Deserializes a message/object from theinput
.java.lang.String
messageFullName()
Returns the full name of the message tied to this schema.java.lang.String
messageName()
Returns the simple name of the message tied to this schema.(package private) static java.lang.String
name(int number)
(package private) static int
number(char c)
(package private) static int
number(java.lang.String name)
private static java.lang.Object
readCheckedCollectionFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, boolean graph, java.lang.Object collection, boolean ss, boolean list)
(package private) static java.lang.Object
readObjectFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy)
(package private) static java.lang.Object
readObjectFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, int number)
private static java.lang.Object
readSynchronizedCollectionFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, boolean graph, java.lang.Object collection, boolean ss, boolean list)
private static java.lang.Object
readUnmodifiableCollectionFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, boolean graph, java.lang.Object collection, boolean ss, boolean list)
(package private) static void
transferObject(Pipe.Schema<java.lang.Object> pipeSchema, Pipe pipe, Input input, Output output, IdStrategy strategy)
(package private) static void
transferObject(Pipe.Schema<java.lang.Object> pipeSchema, Pipe pipe, Input input, Output output, IdStrategy strategy, int number)
private static void
writeCheckedCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy, int id)
(package private) static void
writeNonPublicCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy)
(package private) static void
writeObjectTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy)
private static void
writeSynchronizedCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy, int id)
void
writeTo(Output output, java.lang.Object value)
Serializes a message/object to theoutput
.private static void
writeUnmodifiableCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy, int id)
-
Methods inherited from class io.protostuff.runtime.PolymorphicSchema
isInitialized, newMessage, setValue, typeClass
-
-
-
-
Field Detail
-
ID_EMPTY_SET
static final int ID_EMPTY_SET
- See Also:
- Constant Field Values
-
ID_EMPTY_LIST
static final int ID_EMPTY_LIST
- See Also:
- Constant Field Values
-
ID_SINGLETON_SET
static final int ID_SINGLETON_SET
- See Also:
- Constant Field Values
-
ID_SINGLETON_LIST
static final int ID_SINGLETON_LIST
- See Also:
- Constant Field Values
-
ID_SET_FROM_MAP
static final int ID_SET_FROM_MAP
- See Also:
- Constant Field Values
-
ID_COPIES_LIST
static final int ID_COPIES_LIST
- See Also:
- Constant Field Values
-
ID_UNMODIFIABLE_COLLECTION
static final int ID_UNMODIFIABLE_COLLECTION
- See Also:
- Constant Field Values
-
ID_UNMODIFIABLE_SET
static final int ID_UNMODIFIABLE_SET
- See Also:
- Constant Field Values
-
ID_UNMODIFIABLE_SORTED_SET
static final int ID_UNMODIFIABLE_SORTED_SET
- See Also:
- Constant Field Values
-
ID_UNMODIFIABLE_LIST
static final int ID_UNMODIFIABLE_LIST
- See Also:
- Constant Field Values
-
ID_UNMODIFIABLE_RANDOM_ACCESS_LIST
static final int ID_UNMODIFIABLE_RANDOM_ACCESS_LIST
- See Also:
- Constant Field Values
-
ID_SYNCHRONIZED_COLLECTION
static final int ID_SYNCHRONIZED_COLLECTION
- See Also:
- Constant Field Values
-
ID_SYNCHRONIZED_SET
static final int ID_SYNCHRONIZED_SET
- See Also:
- Constant Field Values
-
ID_SYNCHRONIZED_SORTED_SET
static final int ID_SYNCHRONIZED_SORTED_SET
- See Also:
- Constant Field Values
-
ID_SYNCHRONIZED_LIST
static final int ID_SYNCHRONIZED_LIST
- See Also:
- Constant Field Values
-
ID_SYNCHRONIZED_RANDOM_ACCESS_LIST
static final int ID_SYNCHRONIZED_RANDOM_ACCESS_LIST
- See Also:
- Constant Field Values
-
ID_CHECKED_COLLECTION
static final int ID_CHECKED_COLLECTION
- See Also:
- Constant Field Values
-
ID_CHECKED_SET
static final int ID_CHECKED_SET
- See Also:
- Constant Field Values
-
ID_CHECKED_SORTED_SET
static final int ID_CHECKED_SORTED_SET
- See Also:
- Constant Field Values
-
ID_CHECKED_LIST
static final int ID_CHECKED_LIST
- See Also:
- Constant Field Values
-
ID_CHECKED_RANDOM_ACCESS_LIST
static final int ID_CHECKED_RANDOM_ACCESS_LIST
- See Also:
- Constant Field Values
-
STR_EMPTY_SET
static final java.lang.String STR_EMPTY_SET
- See Also:
- Constant Field Values
-
STR_EMPTY_LIST
static final java.lang.String STR_EMPTY_LIST
- See Also:
- Constant Field Values
-
STR_SINGLETON_SET
static final java.lang.String STR_SINGLETON_SET
- See Also:
- Constant Field Values
-
STR_SINGLETON_LIST
static final java.lang.String STR_SINGLETON_LIST
- See Also:
- Constant Field Values
-
STR_SET_FROM_MAP
static final java.lang.String STR_SET_FROM_MAP
- See Also:
- Constant Field Values
-
STR_COPIES_LIST
static final java.lang.String STR_COPIES_LIST
- See Also:
- Constant Field Values
-
STR_UNMODIFIABLE_COLLECTION
static final java.lang.String STR_UNMODIFIABLE_COLLECTION
- See Also:
- Constant Field Values
-
STR_UNMODIFIABLE_SET
static final java.lang.String STR_UNMODIFIABLE_SET
- See Also:
- Constant Field Values
-
STR_UNMODIFIABLE_SORTED_SET
static final java.lang.String STR_UNMODIFIABLE_SORTED_SET
- See Also:
- Constant Field Values
-
STR_UNMODIFIABLE_LIST
static final java.lang.String STR_UNMODIFIABLE_LIST
- See Also:
- Constant Field Values
-
STR_UNMODIFIABLE_RANDOM_ACCESS_LIST
static final java.lang.String STR_UNMODIFIABLE_RANDOM_ACCESS_LIST
- See Also:
- Constant Field Values
-
STR_SYNCHRONIZED_COLLECTION
static final java.lang.String STR_SYNCHRONIZED_COLLECTION
- See Also:
- Constant Field Values
-
STR_SYNCHRONIZED_SET
static final java.lang.String STR_SYNCHRONIZED_SET
- See Also:
- Constant Field Values
-
STR_SYNCHRONIZED_SORTED_SET
static final java.lang.String STR_SYNCHRONIZED_SORTED_SET
- See Also:
- Constant Field Values
-
STR_SYNCHRONIZED_LIST
static final java.lang.String STR_SYNCHRONIZED_LIST
- See Also:
- Constant Field Values
-
STR_SYNCHRONIZED_RANDOM_ACCESS_LIST
static final java.lang.String STR_SYNCHRONIZED_RANDOM_ACCESS_LIST
- See Also:
- Constant Field Values
-
STR_CHECKED_COLLECTION
static final java.lang.String STR_CHECKED_COLLECTION
- See Also:
- Constant Field Values
-
STR_CHECKED_SET
static final java.lang.String STR_CHECKED_SET
- See Also:
- Constant Field Values
-
STR_CHECKED_SORTED_SET
static final java.lang.String STR_CHECKED_SORTED_SET
- See Also:
- Constant Field Values
-
STR_CHECKED_LIST
static final java.lang.String STR_CHECKED_LIST
- See Also:
- Constant Field Values
-
STR_CHECKED_RANDOM_ACCESS_LIST
static final java.lang.String STR_CHECKED_RANDOM_ACCESS_LIST
- See Also:
- Constant Field Values
-
__nonPublicCollections
static final java.util.IdentityHashMap<java.lang.Class<?>,java.lang.Integer> __nonPublicCollections
-
fSingletonSet_element
static final java.lang.reflect.Field fSingletonSet_element
-
fSingletonList_element
static final java.lang.reflect.Field fSingletonList_element
-
fUnmodifiableCollection_c
static final java.lang.reflect.Field fUnmodifiableCollection_c
-
fUnmodifiableSortedSet_ss
static final java.lang.reflect.Field fUnmodifiableSortedSet_ss
-
fUnmodifiableList_list
static final java.lang.reflect.Field fUnmodifiableList_list
-
fSynchronizedCollection_c
static final java.lang.reflect.Field fSynchronizedCollection_c
-
fSynchronizedSortedSet_ss
static final java.lang.reflect.Field fSynchronizedSortedSet_ss
-
fSynchronizedList_list
static final java.lang.reflect.Field fSynchronizedList_list
-
fSynchronizedCollection_mutex
static final java.lang.reflect.Field fSynchronizedCollection_mutex
-
fCheckedCollection_c
static final java.lang.reflect.Field fCheckedCollection_c
-
fCheckedSortedSet_ss
static final java.lang.reflect.Field fCheckedSortedSet_ss
-
fCheckedList_list
static final java.lang.reflect.Field fCheckedList_list
-
fCheckedCollection_type
static final java.lang.reflect.Field fCheckedCollection_type
-
fSetFromMap_m
static final java.lang.reflect.Field fSetFromMap_m
-
fSetFromMap_s
static final java.lang.reflect.Field fSetFromMap_s
-
fCopiesList_n
static final java.lang.reflect.Field fCopiesList_n
-
fCopiesList_element
static final java.lang.reflect.Field fCopiesList_element
-
iSingletonSet
static final RuntimeEnv.Instantiator<?> iSingletonSet
-
iSingletonList
static final RuntimeEnv.Instantiator<?> iSingletonList
-
iUnmodifiableCollection
static final RuntimeEnv.Instantiator<?> iUnmodifiableCollection
-
iUnmodifiableSet
static final RuntimeEnv.Instantiator<?> iUnmodifiableSet
-
iUnmodifiableSortedSet
static final RuntimeEnv.Instantiator<?> iUnmodifiableSortedSet
-
iUnmodifiableList
static final RuntimeEnv.Instantiator<?> iUnmodifiableList
-
iUnmodifiableRandomAccessList
static final RuntimeEnv.Instantiator<?> iUnmodifiableRandomAccessList
-
iSynchronizedCollection
static final RuntimeEnv.Instantiator<?> iSynchronizedCollection
-
iSynchronizedSet
static final RuntimeEnv.Instantiator<?> iSynchronizedSet
-
iSynchronizedSortedSet
static final RuntimeEnv.Instantiator<?> iSynchronizedSortedSet
-
iSynchronizedList
static final RuntimeEnv.Instantiator<?> iSynchronizedList
-
iSynchronizedRandomAccessList
static final RuntimeEnv.Instantiator<?> iSynchronizedRandomAccessList
-
iCheckedCollection
static final RuntimeEnv.Instantiator<?> iCheckedCollection
-
iCheckedSet
static final RuntimeEnv.Instantiator<?> iCheckedSet
-
iCheckedSortedSet
static final RuntimeEnv.Instantiator<?> iCheckedSortedSet
-
iCheckedList
static final RuntimeEnv.Instantiator<?> iCheckedList
-
iCheckedRandomAccessList
static final RuntimeEnv.Instantiator<?> iCheckedRandomAccessList
-
iSetFromMap
static final RuntimeEnv.Instantiator<?> iSetFromMap
-
iCopiesList
static final RuntimeEnv.Instantiator<?> iCopiesList
-
pipeSchema
protected final Pipe.Schema<java.lang.Object> pipeSchema
-
-
Constructor Detail
-
PolymorphicCollectionSchema
public PolymorphicCollectionSchema(IdStrategy strategy)
-
-
Method Detail
-
map
private static java.lang.Class<?> map(java.lang.String className, int id)
-
name
static java.lang.String name(int number)
-
number
static int number(java.lang.String name)
-
number
static int number(char c)
-
getPipeSchema
public Pipe.Schema<java.lang.Object> getPipeSchema()
Description copied from class:PolymorphicSchema
The pipe schema associated with this schema.- Specified by:
getPipeSchema
in classPolymorphicSchema
-
getFieldName
public java.lang.String getFieldName(int number)
Description copied from interface:Schema
Gets the field name associated with the number. This is particularly useful when serializing to different formats (Eg. JSON). When using numeric field names:return String.valueOf(number);
-
getFieldNumber
public int getFieldNumber(java.lang.String name)
Description copied from interface:Schema
Gets the field number associated with the name. This is particularly useful when serializing to different formats (Eg. JSON). When using numeric field names:return Integer.parseInt(name);
-
messageFullName
public java.lang.String messageFullName()
Description copied from interface:Schema
Returns the full name of the message tied to this schema. Allows custom schemas to provide a custom name other than typeClass().getName();
-
messageName
public java.lang.String messageName()
Description copied from interface:Schema
Returns the simple name of the message tied to this schema. Allows custom schemas to provide a custom name other than typeClass().getSimpleName();
-
mergeFrom
public void mergeFrom(Input input, java.lang.Object owner) throws java.io.IOException
Description copied from interface:Schema
Deserializes a message/object from theinput
.- Throws:
java.io.IOException
-
writeTo
public void writeTo(Output output, java.lang.Object value) throws java.io.IOException
Description copied from interface:Schema
Serializes a message/object to theoutput
.- Throws:
java.io.IOException
-
idFrom
static int idFrom(java.lang.Class<?> clazz)
-
instanceFrom
static java.lang.Object instanceFrom(int id)
-
writeObjectTo
static void writeObjectTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy) throws java.io.IOException
- Throws:
java.io.IOException
-
writeNonPublicCollectionTo
static void writeNonPublicCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy) throws java.io.IOException
- Throws:
java.io.IOException
-
writeUnmodifiableCollectionTo
private static void writeUnmodifiableCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy, int id) throws java.io.IOException
- Throws:
java.io.IOException
-
writeSynchronizedCollectionTo
private static void writeSynchronizedCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy, int id) throws java.io.IOException
- Throws:
java.io.IOException
-
writeCheckedCollectionTo
private static void writeCheckedCollectionTo(Output output, java.lang.Object value, Schema<?> currentSchema, IdStrategy strategy, int id) throws java.io.IOException
- Throws:
java.io.IOException
-
readObjectFrom
static java.lang.Object readObjectFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy) throws java.io.IOException
- Throws:
java.io.IOException
-
readObjectFrom
static java.lang.Object readObjectFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, int number) throws java.io.IOException
- Throws:
java.io.IOException
-
readUnmodifiableCollectionFrom
private static java.lang.Object readUnmodifiableCollectionFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, boolean graph, java.lang.Object collection, boolean ss, boolean list) throws java.io.IOException
- Throws:
java.io.IOException
-
readSynchronizedCollectionFrom
private static java.lang.Object readSynchronizedCollectionFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, boolean graph, java.lang.Object collection, boolean ss, boolean list) throws java.io.IOException
- Throws:
java.io.IOException
-
readCheckedCollectionFrom
private static java.lang.Object readCheckedCollectionFrom(Input input, Schema<?> schema, java.lang.Object owner, IdStrategy strategy, boolean graph, java.lang.Object collection, boolean ss, boolean list) throws java.io.IOException
- Throws:
java.io.IOException
-
transferObject
static void transferObject(Pipe.Schema<java.lang.Object> pipeSchema, Pipe pipe, Input input, Output output, IdStrategy strategy) throws java.io.IOException
- Throws:
java.io.IOException
-
transferObject
static void transferObject(Pipe.Schema<java.lang.Object> pipeSchema, Pipe pipe, Input input, Output output, IdStrategy strategy, int number) throws java.io.IOException
- Throws:
java.io.IOException
-
-