com.fasterxml.jackson.databind.introspect

## Class AccessorNamingStrategy

- java.lang.Object
- - com.fasterxml.jackson.databind.introspect.AccessorNamingStrategy

- Direct Known Subclasses:
    AccessorNamingStrategy.Base, DefaultAccessorNamingStrategy

      public abstract class AccessorNamingStrategy
      extends Object

  API for handlers used to "mangle" names of "getter" and "setter" methods to find implicit property names.
  Since:
    2.12

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AccessorNamingStrategy.Base` Helper class that implements all abstract methods with dummy implementations.
    `static class` | `AccessorNamingStrategy.Provider` Interface for provider (factory) for constructing `AccessorNamingStrategy` for given type of deserialization target

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AccessorNamingStrategy()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract String` | `findNameForIsGetter(AnnotatedMethod method, String name)` Method called to find whether given method would be considered an "is-getter" getter method in context of type introspected, and if so, what is the logical property it is associated with (which in turn suggest external name for property)
    `abstract String` | `findNameForMutator(AnnotatedMethod method, String name)` Method called to find whether given method would be considered a "mutator" (usually setter, but for builders "with-method" or similar) in context of type introspected, and if so, what is the logical property it is associated with (which in turn suggest external name for property)
    `abstract String` | `findNameForRegularGetter(AnnotatedMethod method, String name)` Method called to find whether given method would be considered a "regular" getter method in context of type introspected, and if so, what is the logical property it is associated with (which in turn suggest external name for property)
    `abstract String` | `modifyFieldName(AnnotatedField field, String name)` Method called to find the name of logical property that given field should be associated with, if any.

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

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

- - ### Constructor Detail

    - #### AccessorNamingStrategy

          public AccessorNamingStrategy()

  - ### Method Detail

    - #### findNameForIsGetter

          public abstract String findNameForIsGetter(AnnotatedMethod method,
                                                     String name)

      Method called to find whether given method would be considered an "is-getter" getter method in context of type introspected, and if so, what is the logical property it is associated with (which in turn suggest external name for property)

      Note that signature acceptability has already been checked (no arguments, has return value) but NOT the specific limitation that return type should be of boolean type -- implementation should apply latter check, if so desired (some languages may use different criteria). It is also possible that some implementations allow different return types than boolean types.

      Note that visibility checks are applied separately; strategy does not need to be concerned with that aspect.

      Parameters:
        `method` - Method to check
        `name` - Name to check (usually same as `AnnotatedMethod.getName()`
      Returns:
        Implied property name for is-getter method, if match; `null` to indicate that the name does not conform to expected naming convention

    - #### findNameForRegularGetter

          public abstract String findNameForRegularGetter(AnnotatedMethod method,
                                                          String name)

      Method called to find whether given method would be considered a "regular" getter method in context of type introspected, and if so, what is the logical property it is associated with (which in turn suggest external name for property)

      Note that signature acceptability has already been checked (no arguments, does have a return value) by caller.

      Note that this method MAY be called for potential "is-getter" methods too (before `findNameForIsGetter(com.fasterxml.jackson.databind.introspect.AnnotatedMethod, java.lang.String)`)

      Note that visibility checks are applied separately; strategy does not need to be concerned with that aspect.

      Parameters:
        `method` - Method to check
        `name` - Name to check (usually same as `AnnotatedMethod.getName()`
      Returns:
        Implied property name for getter method, if match; `null` to indicate that the name does not conform to expected naming convention

    - #### findNameForMutator

          public abstract String findNameForMutator(AnnotatedMethod method,
                                                    String name)

      Method called to find whether given method would be considered a "mutator" (usually setter, but for builders "with-method" or similar) in context of type introspected, and if so, what is the logical property it is associated with (which in turn suggest external name for property)

      Note that signature acceptability has already been checked (exactly one parameter) by caller.

      Note that visibility checks are applied separately; strategy does not need to be concerned with that aspect.

      Parameters:
        `method` - Method to check
        `name` - Name to check (usually same as `AnnotatedMethod.getName()`
      Returns:
        Implied property name for mutator method, if match; `null` to indicate that the name does not conform to expected naming convention

    - #### modifyFieldName

          public abstract String modifyFieldName(AnnotatedField field,
                                                 String name)

      Method called to find the name of logical property that given field should be associated with, if any.

      Note that visibility checks are applied separately; strategy does not need to be concerned with that aspect.

      Parameters:
        `field` - Field to check
        `name` - Name to check (usually same as `AnnotatedField.getName()`
      Returns:
        Implied property name matching given field (often field name as-is) or `null` to indicate that the name does not conform to expected naming convention (and will not be considered for property access)

Copyright © 2008–2020 FasterXML. All rights reserved.