Class PotentialCreator

java.lang.Object
com.fasterxml.jackson.databind.introspect.PotentialCreator

public class PotentialCreator extends Object
Information about a single Creator (constructor or factory method), kept during property introspection.
Since:
2.18
  • Constructor Details

    • PotentialCreator

      public PotentialCreator(AnnotatedWithParams cr, com.fasterxml.jackson.annotation.JsonCreator.Mode cm)
  • Method Details

    • overrideMode

      public PotentialCreator overrideMode(com.fasterxml.jackson.annotation.JsonCreator.Mode mode)
      Method that can be called to change the creatorMode this Creator has: typically used to "mark" Creator as JsonCreator.Mode.DELEGATING or JsonCreator.Mode.PROPERTIES when further information is gathered).
      Parameters:
      mode - Mode to set creatorMode to
      Returns:
      This creator instance
    • assignPropertyDefs

      public void assignPropertyDefs(List<? extends BeanPropertyDefinition> propertyDefs)
    • introspectParamNames

      public PotentialCreator introspectParamNames(MapperConfig<?> config)
    • introspectParamNames

      public PotentialCreator introspectParamNames(MapperConfig<?> config, PropertyName[] implicits)
      Variant used when implicit names are known; such as case for JDK Record types.
    • isAnnotated

      public boolean isAnnotated()
    • creator

      public AnnotatedWithParams creator()
    • creatorMode

      public com.fasterxml.jackson.annotation.JsonCreator.Mode creatorMode()
      Returns:
      Mode declared for this Creator by annotation, if any; null if not annotated
    • creatorModeOrDefault

      public com.fasterxml.jackson.annotation.JsonCreator.Mode creatorModeOrDefault()
      Same as creatorMode() except that if null was to be returned, will instead return JsonCreator.Mode.DEFAULT/
    • paramCount

      public int paramCount()
    • param

      public AnnotatedParameter param(int ix)
    • hasExplicitNames

      public boolean hasExplicitNames()
    • hasNameFor

      public boolean hasNameFor(int ix)
    • hasNameOrInjectForAllParams

      public boolean hasNameOrInjectForAllParams(MapperConfig<?> config)
    • explicitName

      public PropertyName explicitName(int ix)
    • implicitName

      public PropertyName implicitName(int ix)
    • implicitNameSimple

      public String implicitNameSimple(int ix)
    • propertyDefs

      public BeanPropertyDefinition[] propertyDefs()
    • toString

      public String toString()
      Overrides:
      toString in class Object