Package net.shibboleth.idp.authn.principal

# Interface PrincipalService<T extends Principal>

Type Parameters:
  `T` - principal type

All Superinterfaces:
  `Component`, `IdentifiedComponent`

All Known Implementing Classes:
  `GenericPrincipalService`

public interface PrincipalService<T extends Principal> extends IdentifiedComponent
Interface that provides services for a `Principal` of a given type.

Since:
  4.1.0

## Method Summary

Modifier and Type
Method
Description
`PrincipalSerializer<String>`
`getSerializer()`
Get a serializer instance for this type of `Principal`.
`Class<T>`
`getType()`
Get the type of object supported.

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

## Method Details

### getType

@Nonnull Class<T> getType()
Get the type of object supported.

Returns:
  supported type

### getSerializer

@Nonnull PrincipalSerializer<String> getSerializer()
Get a serializer instance for this type of `Principal`.

Returns:
  the serializer