Package org.eclipse.ditto.signals.base
Class AbstractGlobalJsonParsableRegistry<T,A extends Annotation>
- java.lang.Object
-
- org.eclipse.ditto.signals.base.AbstractJsonParsableRegistry<T>
-
- org.eclipse.ditto.signals.base.AbstractGlobalJsonParsableRegistry<T,A>
-
- Type Parameters:
T
- The superclass of all classes that should be deserialized by this registry.A
- The type of the annotation that holds the information to build an annotation based json parsable.
- All Implemented Interfaces:
JsonParsable<T>
,JsonParsableRegistry<T>
- Direct Known Subclasses:
GlobalErrorRegistry
public abstract class AbstractGlobalJsonParsableRegistry<T,A extends Annotation> extends AbstractJsonParsableRegistry<T>
Responsible for collecting allAnnotationBasedJsonParsable
for subclasses of T.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.ditto.signals.base.JsonParsable
JsonParsable.ParseInnerJson
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractGlobalJsonParsableRegistry(Class<T> parsedClass, Class<A> annotationClass, AbstractAnnotationBasedJsonParsableFactory<T,A> annotationBasedJsonParsableFactory)
Creates a new instance.protected
AbstractGlobalJsonParsableRegistry(Class<T> parsedClass, Class<A> annotationClass, AbstractAnnotationBasedJsonParsableFactory<T,A> annotationBasedJsonParsableFactory, Map<String,JsonParsable<T>> parseStrategies)
Creates a new instance.
-
-
-
Constructor Detail
-
AbstractGlobalJsonParsableRegistry
protected AbstractGlobalJsonParsableRegistry(Class<T> parsedClass, Class<A> annotationClass, AbstractAnnotationBasedJsonParsableFactory<T,A> annotationBasedJsonParsableFactory)
Creates a new instance.- Parameters:
parsedClass
- the superclass of all classes that should be deserialized by this registry.annotationClass
- the type of the annotation that holds the information to build an annotation based json parsable.annotationBasedJsonParsableFactory
- the factory used to createAnnotationBasedJsonParsable
based on a given annotation.
-
AbstractGlobalJsonParsableRegistry
protected AbstractGlobalJsonParsableRegistry(Class<T> parsedClass, Class<A> annotationClass, AbstractAnnotationBasedJsonParsableFactory<T,A> annotationBasedJsonParsableFactory, Map<String,JsonParsable<T>> parseStrategies)
Creates a new instance.- Parameters:
parsedClass
- the superclass of all classes that should be deserialized by this registry.annotationClass
- the type of the annotation that holds the information to build an annotation based json parsable.annotationBasedJsonParsableFactory
- the factory used to createAnnotationBasedJsonParsable
based on a given annotation.parseStrategies
- individual strategies that should be added to the annotation based strategies. Annotation based strategies will be overridden if they have the same key.
-
-