Class GenericPrincipalSerializer
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.idp.authn.principal.AbstractPrincipalSerializer<String>
net.shibboleth.idp.authn.principal.GenericPrincipalSerializer
- All Implemented Interfaces:
PrincipalSerializer<String>
,Component
,DestructableComponent
,InitializableComponent
@ThreadSafeAfterInit
public class GenericPrincipalSerializer
extends AbstractPrincipalSerializer<String>
Principal serializer for arbitrary principal types.
- Since:
- 4.1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionA cache of Principal types that support string-based construction.private static final Pattern
Pattern used to determine if input is supported.private final org.slf4j.Logger
Class logger.private static final String
Field name of principal name.private static final String
Field name of principal type.Shrinkage of long constants into symbolic numbers. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(String value) Deserialize the supplied value.protected String
desymbolize
(javax.json.JsonValue field) Map a field value to a string, either directly or via the symbolic map.Serialize the supplied principal.void
setSymbolics
(Map<String, Integer> mappings) Sets mappings of string constants to symbolic constants.boolean
Whether the supplied value can be deserialized.boolean
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.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, 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.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
PRINCIPAL_TYPE_FIELD
Field name of principal type.- See Also:
-
PRINCIPAL_NAME_FIELD
Field name of principal name.- See Also:
-
JSON_PATTERN
Pattern used to determine if input is supported. -
log
@Nonnull private final org.slf4j.Logger logClass logger. -
symbolics
Shrinkage of long constants into symbolic numbers. -
compatiblePrincipalTypes
A cache of Principal types that support string-based construction.
-
-
Constructor Details
-
GenericPrincipalSerializer
public GenericPrincipalSerializer()Constructor.
-
-
Method Details
-
setSymbolics
Sets mappings of string constants to symbolic constants.- Parameters:
mappings
- string to symbolic mappings
-
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
-
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
-
desymbolize
Map a field value to a string, either directly or via the symbolic map.- Parameters:
field
- the object field to examine- Returns:
- the resulting string, or null if invalid
-