Packages

object CometJacksonModule extends Module with CometJacksonModule

Linear Supertypes
CometJacksonModule, JacksonModule, Module, Versioned, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CometJacksonModule
  2. CometJacksonModule
  3. JacksonModule
  4. Module
  5. Versioned
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait JacksonProtectedSingleton extends AnyRef

    A trait to identify case objects are requiring special protection from Jackson's deserializer

    A trait to identify case objects are requiring special protection from Jackson's deserializer

    Jackson doesn't know a class is actually an object type, and will happily make new instances of things supposed to be objects (singletons). These 'clone' instances are toxic as they will **not** patmat correctly, as Scala simply compares identityHashcodes in patterns involving a case object.

    To avoid this, we define this trait, which registers the canonical instance within a special table, and provide a helpful exception

    One should also define a Builder inheriting from com.ebiznext.comet.utils.CometJacksonModule.ProtectedSingletonBuilder, and decorate the case object with @JsonDeserialize(builder = classOf[MyObjectBuilder]).

    The goal of that builder is to "lie" to Jackson by 'building' an instance, which is actually *the* instance

    See also

    https://github.com/FasterXML/jackson-module-scala/issues/211

  2. abstract class ProtectedSingletonBuilder[T <: JacksonProtectedSingleton] extends Serializable

    a base class for fake 'builders' whose purpose is to drive Jackson off attempting to build new instances of case objects upon deserialization.

    a base class for fake 'builders' whose purpose is to drive Jackson off attempting to build new instances of case objects upon deserialization.

    This class will work to recover *the* canonical instance of the T class, and return that whenever Jackson requests a 'new' instance

    Annotations
    @JsonPOJOBuilder()
    See also

    https://github.com/FasterXML/jackson-module-scala/issues/211

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +=(beanSerMod: BeanSerializerModifier): CometJacksonModule.this.type
    Attributes
    protected
    Definition Classes
    JacksonModule
  4. def +=(typeMod: TypeModifier): CometJacksonModule.this.type
    Attributes
    protected
    Definition Classes
    JacksonModule
  5. def +=(deser: Deserializers): CometJacksonModule.this.type
    Attributes
    protected
    Definition Classes
    JacksonModule
  6. def +=(ser: Serializers): CometJacksonModule.this.type
    Attributes
    protected
    Definition Classes
    JacksonModule
  7. def +=(init: (SetupContext) ⇒ Unit): CometJacksonModule.this.type
    Attributes
    protected
    Definition Classes
    JacksonModule
  8. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def getDependencies(): Iterable[_ <: Module]
    Definition Classes
    Module
  16. def getModuleName(): String
    Definition Classes
    CometJacksonModule → JacksonModule → Module
  17. def getTypeId(): AnyRef
    Definition Classes
    Module
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def setupModule(context: SetupContext): Unit
    Definition Classes
    JacksonModule → Module
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. def version(): fasterxml.jackson.core.Version
    Definition Classes
    JacksonModule → Module → Versioned
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from CometJacksonModule

Inherited from JacksonModule

Inherited from Module

Inherited from Versioned

Inherited from AnyRef

Inherited from Any

Ungrouped