Klasse TeamAppsJacksonTypeIdResolver

java.lang.Object
org.teamapps.dto.TeamAppsJacksonTypeIdResolver
Alle implementierten Schnittstellen:
com.fasterxml.jackson.databind.jsontype.TypeIdResolver

public class TeamAppsJacksonTypeIdResolver extends Object implements com.fasterxml.jackson.databind.jsontype.TypeIdResolver
This TypeIdResolver provides type ids for all TeamApps UI API classes. Additionally it also provides type ids for all classes that get serialized, so they can be deserialized in the future.

Ratio: Components are allowed to send and receive.

On the sending side, this enables app developers to send arbitrary data for templates. E.g., a MustacheTemplate might be filled using a list of deep json structures.

On the receiving side, this is technically not necessary, since all data that comes from UiComponents might be defined as UiObjects. However, component developers might decide to send back arbitrary object (in original or changed state) that were previously sent to the client. This approach is not recommended but possible. Since only classes that have ever been serialized can be deserialized, there is no security risk in technically allowing Object values (unless developers send security critical classes, which we regard as very unlikely).

  • Konstruktordetails

    • TeamAppsJacksonTypeIdResolver

      public TeamAppsJacksonTypeIdResolver()
  • Methodendetails

    • registerPojoClass

      public static String registerPojoClass(Class clazz)
    • init

      public void init(com.fasterxml.jackson.databind.JavaType baseType)
      Angegeben von:
      init in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    • getMechanism

      public com.fasterxml.jackson.annotation.JsonTypeInfo.Id getMechanism()
      Angegeben von:
      getMechanism in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    • idFromClass

      public String idFromClass(Class clazz)
    • idFromValue

      public String idFromValue(Object obj)
      Angegeben von:
      idFromValue in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    • idFromValueAndType

      public String idFromValueAndType(Object obj, Class<?> clazz)
      Angegeben von:
      idFromValueAndType in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    • idFromBaseType

      public String idFromBaseType()
      Angegeben von:
      idFromBaseType in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    • typeFromId

      public com.fasterxml.jackson.databind.JavaType typeFromId(com.fasterxml.jackson.databind.DatabindContext context, String id)
      Angegeben von:
      typeFromId in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    • getDescForKnownTypeIds

      public String getDescForKnownTypeIds()
      Angegeben von:
      getDescForKnownTypeIds in Schnittstelle com.fasterxml.jackson.databind.jsontype.TypeIdResolver