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