groovy.util

## Class ObjectGraphBuilder.DefaultRelationNameResolver

- java.lang.Object
- - groovy.util.ObjectGraphBuilder.DefaultRelationNameResolver

- All Implemented Interfaces:
    ObjectGraphBuilder.RelationNameResolver
  Enclosing class:
    ObjectGraphBuilder

      public static class ObjectGraphBuilder.DefaultRelationNameResolver
      extends Object
      implements ObjectGraphBuilder.RelationNameResolver

  Default impl that returns parentName and childName accordingly.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultRelationNameResolver()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `resolveChildRelationName(String parentName, Object parent, String childName, Object child)` Handles the common English regular plurals with the following rules.
    `String` | `resolveParentRelationName(String parentName, Object parent, String childName, Object child)` Follow the most conventional pattern, returns the parentName unchanged.

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

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

- - ### Constructor Detail

    - #### DefaultRelationNameResolver

          public DefaultRelationNameResolver()

  - ### Method Detail

    - #### resolveChildRelationName

          public String resolveChildRelationName(String parentName,
                                                 Object parent,
                                                 String childName,
                                                 Object child)

      Handles the common English regular plurals with the following rules.
      - If childName ends in {consonant}y, replace 'y' with "ies". For example, allergy to allergies.
      - Otherwise, append 's'. For example, monkey to monkeys; employee to employees.
      If the property does not exist then it will return childName unchanged.
      Specified by:
        `resolveChildRelationName` in interface `ObjectGraphBuilder.RelationNameResolver`
      Parameters:
        `parentName` - the name of the parent node
        `parent` - the parent node
        `childName` - the name of the child node
        `child` - the child node
      See Also:
        English_plural

    - #### resolveParentRelationName

          public String resolveParentRelationName(String parentName,
                                                  Object parent,
                                                  String childName,
                                                  Object child)

      Follow the most conventional pattern, returns the parentName unchanged.
      Specified by:
        `resolveParentRelationName` in interface `ObjectGraphBuilder.RelationNameResolver`
      Parameters:
        `parentName` - the name of the parent node
        `parent` - the parent node
        `childName` - the name of the child node
        `child` - the child node