com.fasterxml.jackson.databind.introspect

## 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 Summary

Constructors
Constructor and Description
`PotentialCreator(AnnotatedWithParams cr, com.fasterxml.jackson.annotation.JsonCreator.Mode cm)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `assignPropertyDefs(List<? extends BeanPropertyDefinition> propertyDefs)`
`AnnotatedWithParams` `creator()`
`com.fasterxml.jackson.annotation.JsonCreator.Mode` `creatorMode()`
`com.fasterxml.jackson.annotation.JsonCreator.Mode` `creatorModeOrDefault()` Same as `creatorMode()` except that if `null` was to be returned, will instead return `JsonCreator.Mode.DEFAULT`/
`PropertyName` `explicitName(int ix)`
`boolean` `hasExplicitNames()`
`boolean` `hasNameFor(int ix)`
`boolean` `hasNameOrInjectForAllParams(MapperConfig<?> config)`
`PropertyName` `implicitName(int ix)`
`String` `implicitNameSimple(int ix)`
`PotentialCreator` `introspectParamNames(MapperConfig<?> config)`
`PotentialCreator` `introspectParamNames(MapperConfig<?> config, PropertyName[] implicits)` Variant used when implicit names are known; such as case for JDK Record types.
`boolean` `isAnnotated()`
`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).
`AnnotatedParameter` `param(int ix)`
`int` `paramCount()`
`BeanPropertyDefinition[]` `propertyDefs()`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### PotentialCreator

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

### Method Detail

#### 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`