Package org.opensaml.saml.common.profile

# Interface NameIdentifierGenerator<NameIdType extends SAMLObject>

Type Parameters:
  `NameIdType` - type of object produced

All Known Subinterfaces:
  `FormatSpecificNameIdentifierGenerator<NameIdType>`, `SAML1NameIdentifierGenerator`, `SAML2NameIDGenerator`

All Known Implementing Classes:
  `AbstractNameIdentifierGenerator`, `AbstractSAML1NameIdentifierGenerator`, `AbstractSAML2NameIDGenerator`, `ChainingNameIdentifierGenerator`, `ChainingSAML1NameIdentifierGenerator`, `ChainingSAML2NameIDGenerator`

public interface NameIdentifierGenerator<NameIdType extends SAMLObject>
Interface for a component that produces SAML `NameIdentifier` and/or `NameID` objects for inclusion in assertion subjects.

Such a component typically consumes attribute information produced about the subject and transforms it (possibly via identity function) into use as a subject identifier. This operation is essentially the inverse of a subject canonicalization flow that operates on SAML identifiers and turns them back into principal names.

A component may be self-contained and need not depend on any other subject information, depending on the nature of the identifier.

## Method Summary

Modifier and Type
Method
Description
`NameIdType`
`generate(ProfileRequestContext profileRequestContext, String format)`
Generate an identifier object.

## Method Details

### generate

@Nullable NameIdType generate(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull @NotEmpty String format) throws SAMLException
Generate an identifier object.

Parameters:
  `profileRequestContext` - the current profile request context
  `format` - the identifier format to generate
Returns:
  the identifier object, or null
Throws:
  `SAMLException` - if an error occurs generating an identifier