Class SimplePrincipalSerializer<T extends Principal>
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer<String>
net.shibboleth.idp.authn.principal.SimplePrincipalSerializer<T>
- Type Parameters:
T- principal type
- All Implemented Interfaces:
PrincipalSerializer<String>,Component,DestructableComponent,InitializableComponent
- Direct Known Subclasses:
SealedPrincipalSerializer
@ThreadSafe
public class SimplePrincipalSerializer<T extends Principal>
extends AbstractPrincipalSerializer<String>
Principal serializer for string-based principals that serialize to a simple JSON structure.
- Since:
- 4.1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Constructor<T>Constructor.private final StringField name.private final PatternPattern used to determine if input is supported.Principal type. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondeserialize(String value) Deserialize the supplied value.protected StringReturn the appropriate value to create thePrincipalaround based on the serialized form.protected StringReturn the appropriate value to serialize from the input object.Serialize the supplied principal.booleanWhether the supplied value can be deserialized.booleanWhether the supplied principal can be serialized.Methods inherited from class net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer
getJsonGenerator, getJsonReaderMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
principalType
Principal type. -
ctor
Constructor. -
fieldName
Field name. -
jsonPattern
Pattern used to determine if input is supported.
-
-
Constructor Details
-
SimplePrincipalSerializer
public SimplePrincipalSerializer(@Nonnull @ParameterName(name="claz") Class<T> claz, @Nonnull @NotEmpty @ParameterName(name="name") String name) throws NoSuchMethodException, SecurityException Constructor.- Parameters:
claz- principal typename- field name of JSON structure- Throws:
SecurityException- if the constructor cannot be accessedNoSuchMethodException- if the constructor does not exist
-
-
Method Details
-
supports
Whether the supplied principal can be serialized.- Parameters:
principal- to examine- Returns:
- whether principal can be serialized
-
serialize
Serialize the supplied principal.- Parameters:
principal- to serialize- Returns:
- serialized value
- Throws:
IOException- if an error occurs during serialization
-
getName
Return the appropriate value to serialize from the input object.- Parameters:
principal- input object- Returns:
- the value to serialize.
- Throws:
IOException- if an error occurs
-
supports
Whether the supplied value can be deserialized.- Parameters:
value- to examine- Returns:
- whether value can be deserialized
-
deserialize
Deserialize the supplied value.- Parameters:
value- to deserialize- Returns:
- principal
- Throws:
IOException- if an error occurs during deserialization
-
getName
Return the appropriate value to create thePrincipalaround based on the serialized form.- Parameters:
serializedName- the value in the serialization.- Returns:
- the transformed value
- Throws:
IOException- if an error occurs
-