Package io.protostuff.runtime
Class IncrementalIdStrategy.Registry
- java.lang.Object
-
- io.protostuff.runtime.IncrementalIdStrategy.Registry
-
- All Implemented Interfaces:
NumericIdStrategy.Registry
- Enclosing class:
- IncrementalIdStrategy
public static class IncrementalIdStrategy.Registry extends java.lang.Object implements NumericIdStrategy.Registry
This Registry is only way to register your pojos/enums/collections/maps/delegates.
-
-
Field Summary
Fields Modifier and Type Field Description IncrementalIdStrategystrategy
-
Constructor Summary
Constructors Constructor Description Registry(int collectionIdMax, int collectionIdStart, int mapIdMax, int mapIdStart, int enumIdMax, int enumIdStart, int pojoIdMax, int pojoIdStart)Registry(int flags, IdStrategy primaryGroup, int groupId, int collectionIdMax, int collectionIdStart, int mapIdMax, int mapIdStart, int enumIdMax, int enumIdStart, int pojoIdMax, int pojoIdStart)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> IncrementalIdStrategy.RegistrymapPojo(java.lang.Class<? super T> baseClass, java.lang.Class<T> implClass)If you are sure that you are only using a single implementation of your interface/abstract class, then it makes sense to map it directly to its impl class to avoid writing the type.<T extends java.util.Collection<?>>
IncrementalIdStrategy.RegistryregisterCollection(CollectionSchema.MessageFactory factory, int id)Collection ids start at 1.<T> IncrementalIdStrategy.RegistryregisterDelegate(Delegate<T> delegate, int id)Register aDelegateand assign an id.IncrementalIdStrategy.RegistryregisterEnum(EnumIO<?> eio, int id)Enum ids start at 1.<T extends java.lang.Enum<T>>
IncrementalIdStrategy.RegistryregisterEnum(java.lang.Class<T> clazz, int id)Enum ids start at 1.<T extends java.util.Map<?,?>>
IncrementalIdStrategy.RegistryregisterMap(MapSchema.MessageFactory factory, int id)Map ids start at 1.<T> IncrementalIdStrategy.RegistryregisterPojo(Schema<T> schema, Pipe.Schema<T> pipeSchema, int id)Pojo ids start at 1.<T> IncrementalIdStrategy.RegistryregisterPojo(java.lang.Class<T> clazz, int id)Pojo ids start at 1.
-
-
-
Field Detail
-
strategy
public final IncrementalIdStrategy strategy
-
-
Constructor Detail
-
Registry
public Registry(int collectionIdMax, int collectionIdStart, int mapIdMax, int mapIdStart, int enumIdMax, int enumIdStart, int pojoIdMax, int pojoIdStart)
-
Registry
public Registry(int flags, IdStrategy primaryGroup, int groupId, int collectionIdMax, int collectionIdStart, int mapIdMax, int mapIdStart, int enumIdMax, int enumIdStart, int pojoIdMax, int pojoIdStart)
-
-
Method Detail
-
registerCollection
public <T extends java.util.Collection<?>> IncrementalIdStrategy.Registry registerCollection(CollectionSchema.MessageFactory factory, int id)
Collection ids start at 1.- Specified by:
registerCollectionin interfaceNumericIdStrategy.Registry
-
registerMap
public <T extends java.util.Map<?,?>> IncrementalIdStrategy.Registry registerMap(MapSchema.MessageFactory factory, int id)
Map ids start at 1.- Specified by:
registerMapin interfaceNumericIdStrategy.Registry
-
registerEnum
public <T extends java.lang.Enum<T>> IncrementalIdStrategy.Registry registerEnum(java.lang.Class<T> clazz, int id)
Enum ids start at 1.- Specified by:
registerEnumin interfaceNumericIdStrategy.Registry
-
registerEnum
public IncrementalIdStrategy.Registry registerEnum(EnumIO<?> eio, int id)
Enum ids start at 1.- Specified by:
registerEnumin interfaceNumericIdStrategy.Registry
-
registerPojo
public <T> IncrementalIdStrategy.Registry registerPojo(java.lang.Class<T> clazz, int id)
Pojo ids start at 1.- Specified by:
registerPojoin interfaceNumericIdStrategy.Registry
-
registerPojo
public <T> IncrementalIdStrategy.Registry registerPojo(Schema<T> schema, Pipe.Schema<T> pipeSchema, int id)
Pojo ids start at 1.- Specified by:
registerPojoin interfaceNumericIdStrategy.Registry
-
mapPojo
public <T> IncrementalIdStrategy.Registry mapPojo(java.lang.Class<? super T> baseClass, java.lang.Class<T> implClass)
If you are sure that you are only using a single implementation of your interface/abstract class, then it makes sense to map it directly to its impl class to avoid writing the type.Note that the type is always written when your field is
Object.Pojo ids start at 1.
- Specified by:
mapPojoin interfaceNumericIdStrategy.Registry
-
registerDelegate
public <T> IncrementalIdStrategy.Registry registerDelegate(Delegate<T> delegate, int id)
Register aDelegateand assign an id.Delegate ids start at 1.
- Specified by:
registerDelegatein interfaceNumericIdStrategy.Registry
-
-