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