Package 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 | Description
  --- | ---
  `DefaultRelationNameResolver()` |

- ## Method Summary

  Modifier and Type | Method | 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 Details

  - ### DefaultRelationNameResolver

    public DefaultRelationNameResolver()

- ## Method Details

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