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 & childName accordingly.

### Constructor Summary

Constructors
Constructor and Description
`ObjectGraphBuilder.DefaultRelationNameResolver()`

### Method Summary

Methods
`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

#### ObjectGraphBuilder.DefaultRelationNameResolver

    public ObjectGraphBuilder.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