# Class DefaultNameGenerator

java.lang.Object
org.pentaho.reporting.libraries.repository.DefaultNameGenerator

All Implemented Interfaces:
  `NameGenerator`

public class DefaultNameGenerator extends Object implements NameGenerator

## Constructor Summary

Constructors
Constructor
Description
`DefaultNameGenerator(ContentLocation location)`
`DefaultNameGenerator(ContentLocation location, String defaultNameHint)`
`DefaultNameGenerator(ContentLocation location, String defaultNameHint, String defaultSuffix)`

## Method Summary

Modifier and Type
Method
Description
`String`
`generateName(String nameHint, String mimeType)`
Generates a new, unique name for storing resources in the output repository.

### Methods inherited from class Object

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

## Constructor Details

### DefaultNameGenerator

public DefaultNameGenerator(ContentLocation location)

### DefaultNameGenerator

public DefaultNameGenerator(ContentLocation location, String defaultNameHint)

### DefaultNameGenerator

public DefaultNameGenerator(ContentLocation location, String defaultNameHint, String defaultSuffix)

## Method Details

### generateName

public String generateName(String nameHint, String mimeType) throws ContentIOException
Generates a new, unique name for storing resources in the output repository. Assuming that proper synchronization has been applied, the generated name will be unique within that repository.

Specified by:
  `generateName` in interface `NameGenerator`
Parameters:
  `nameHint` - a user defined name for that resource.
  `mimeType` - the mime type of the resource to be stored in the repository.
Returns:
  the generated, fully qualified name.
Throws:
  `ContentIOException` - if the name could not be generated for any reason.