Package net.shibboleth.idp.authn.principal.impl

# Class AuthenticationResultPrincipalSerializer

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer<String>
net.shibboleth.idp.authn.principal.impl.AuthenticationResultPrincipalSerializer

All Implemented Interfaces:
  `PrincipalSerializer<String>`, `Component`, `DestructableComponent`, `InitializableComponent`

@ThreadSafe public class AuthenticationResultPrincipalSerializer extends AbstractPrincipalSerializer<String>
Principal serializer for `AuthenticationResultPrincipal`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private static final Pattern`
`JSON_PATTERN`
Pattern used to determine if input is supported.
`private final org.slf4j.Logger`
`log`
Class logger.
`private static final String`
`PRINCIPAL_NAME_FIELD`
Field name of principal name.
`private final StorageSerializer<AuthenticationResult>`
`resultSerializer`
Circular reference back to the parent serializer.

## Constructor Summary

Constructors
Constructor
Description
`AuthenticationResultPrincipalSerializer(StorageSerializer<AuthenticationResult> serializer)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`AuthenticationResultPrincipal`
`deserialize(String value)`
Deserialize the supplied value.
`String`
`serialize(Principal principal)`
Serialize the supplied principal.
`boolean`
`supports(String value)`
Whether the supplied value can be deserialized.
`boolean`
`supports(Principal principal)`
Whether the supplied principal can be serialized.

### Methods inherited from class net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer

`getJsonGenerator, getJsonReader`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized`

### Methods inherited from class java.lang.Object

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

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

`initialize, isInitialized`

## Field Details

### PRINCIPAL_NAME_FIELD

@Nonnull @NotEmpty private static final String PRINCIPAL_NAME_FIELD
Field name of principal name.

See Also:
  - Constant Field Values

### JSON_PATTERN

private static final Pattern JSON_PATTERN
Pattern used to determine if input is supported.

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### resultSerializer

@Nonnull private final StorageSerializer<AuthenticationResult> resultSerializer
Circular reference back to the parent serializer.

## Constructor Details

### AuthenticationResultPrincipalSerializer

public AuthenticationResultPrincipalSerializer(@Nonnull StorageSerializer<AuthenticationResult> serializer)
Constructor.

Parameters:
  `serializer` - serializer for the nested `AuthenticationResult` object

## Method Details

### supports

public boolean supports(@Nonnull Principal principal)
Whether the supplied principal can be serialized.

Parameters:
  `principal` - to examine
Returns:
  whether principal can be serialized

### serialize

@Nonnull @NotEmpty public String serialize(@Nonnull Principal principal) throws IOException
Serialize the supplied principal.

Parameters:
  `principal` - to serialize
Returns:
  serialized value
Throws:
  `IOException` - if an error occurs during serialization

### supports

public boolean supports(@Nonnull @NotEmpty String value)
Whether the supplied value can be deserialized.

Parameters:
  `value` - to examine
Returns:
  whether value can be deserialized

### deserialize

@Nullable public AuthenticationResultPrincipal deserialize(@Nonnull @NotEmpty String value) throws IOException
Deserialize the supplied value.

Parameters:
  `value` - to deserialize
Returns:
  principal
Throws:
  `IOException` - if an error occurs during deserialization