Package net.shibboleth.idp.cas.attribute
Class AbstractCASAttributeTranscoder<EncodedType extends IdPAttributeValue>
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder<Attribute>
-
- net.shibboleth.idp.cas.attribute.AbstractCASAttributeTranscoder<EncodedType>
-
- Type Parameters:
EncodedType- the type of data that can be handled by the transcoder
- All Implemented Interfaces:
AttributeTranscoder<Attribute>,CASAttributeTranscoder,Component,DestructableComponent,InitializableComponent
public abstract class AbstractCASAttributeTranscoder<EncodedType extends IdPAttributeValue> extends AbstractAttributeTranscoder<Attribute> implements CASAttributeTranscoder
Base class for transcoders that support CAS attributes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractCASAttributeTranscoder.NamingFunctionA function to produce a "canonical" name for a CASAttributefor transcoding rules.
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.-
Fields inherited from interface net.shibboleth.idp.cas.attribute.CASAttributeTranscoder
PROP_NAME
-
-
Constructor Summary
Constructors Constructor Description AbstractCASAttributeTranscoder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected IdPAttributebuildIdPAttribute(ProfileRequestContext profileRequestContext, Attribute attribute, TranscodingRule rule, List<IdPAttributeValue> attributeValues)Builds anIdPAttributefrom the given values.protected abstract booleancanEncodeValue(IdPAttribute idpAttribute, IdPAttributeValue value)Checks if the given value can be handled by the transcoder.protected abstract IdPAttributeValuedecodeValue(ProfileRequestContext profileRequestContext, Attribute attribute, TranscodingRule rule, String value)Function to decode a single string value into anIdPAttributeValue.IdPAttributedoDecode(ProfileRequestContext profileRequestContext, Attribute input, TranscodingRule rule)AttributedoEncode(ProfileRequestContext profileRequestContext, IdPAttribute attribute, Class<? extends Attribute> to, TranscodingRule rule)protected abstract StringencodeValue(ProfileRequestContext profileRequestContext, IdPAttribute attribute, TranscodingRule rule, EncodedType value)Encodes an attribute value into a string.StringgetEncodedName(TranscodingRule rule)Class<Attribute>getEncodedType()-
Methods inherited from class net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder
decode, encode, setActivationCondition
-
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.idp.attribute.transcoding.AttributeTranscoder
decode, encode
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Method Detail
-
getEncodedType
@Nonnull public Class<Attribute> getEncodedType()
- Specified by:
getEncodedTypein interfaceAttributeTranscoder<EncodedType extends IdPAttributeValue>
-
getEncodedName
@Nullable public String getEncodedName(@Nonnull TranscodingRule rule)
- Specified by:
getEncodedNamein interfaceAttributeTranscoder<EncodedType extends IdPAttributeValue>
-
doEncode
@Nullable public Attribute doEncode(@Nullable ProfileRequestContext profileRequestContext, @Nonnull IdPAttribute attribute, @Nonnull Class<? extends Attribute> to, @Nonnull TranscodingRule rule) throws AttributeEncodingException
- Specified by:
doEncodein classAbstractAttributeTranscoder<Attribute>- Throws:
AttributeEncodingException
-
doDecode
@Nullable public IdPAttribute doDecode(@Nullable ProfileRequestContext profileRequestContext, @Nonnull Attribute input, @Nonnull TranscodingRule rule) throws AttributeDecodingException
- Specified by:
doDecodein classAbstractAttributeTranscoder<Attribute>- Throws:
AttributeDecodingException
-
canEncodeValue
protected abstract boolean canEncodeValue(@Nonnull IdPAttribute idpAttribute, @Nonnull IdPAttributeValue value)Checks if the given value can be handled by the transcoder.In many cases this is simply a check to see if the given object is of the right type.
- Parameters:
idpAttribute- the attribute being encoded, never nullvalue- the value to check, never null- Returns:
- true if the transcoder can encode this value, false if not
-
encodeValue
@Nullable protected abstract String encodeValue(@Nullable ProfileRequestContext profileRequestContext, @Nonnull IdPAttribute attribute, @Nonnull TranscodingRule rule, @Nonnull EncodedType value) throws AttributeEncodingException
Encodes an attribute value into a string.- Parameters:
profileRequestContext- current profile requestattribute- the attribute being encodedrule- properties to control encodingvalue- the value to encode- Returns:
- the attribute value or null if the resulting attribute value would be empty
- Throws:
AttributeEncodingException- thrown if there is a problem encoding the attribute value
-
buildIdPAttribute
@Nonnull protected IdPAttribute buildIdPAttribute(@Nullable ProfileRequestContext profileRequestContext, @Nonnull Attribute attribute, @Nonnull TranscodingRule rule, @Nonnull @NonnullElements List<IdPAttributeValue> attributeValues) throws AttributeDecodingException
Builds anIdPAttributefrom the given values.- Parameters:
profileRequestContext- current profile requestattribute- the attribute being decodedrule- properties to control decodingattributeValues- the decoded values for the attribute- Returns:
- the IdPAttribute object
- Throws:
AttributeDecodingException- thrown if there is a problem constructing the IdPAttribute
-
decodeValue
@Nullable protected abstract IdPAttributeValue decodeValue(@Nullable ProfileRequestContext profileRequestContext, @Nonnull Attribute attribute, @Nonnull TranscodingRule rule, @Nullable String value)
Function to decode a single string value into anIdPAttributeValue.- Parameters:
profileRequestContext- current profile requestattribute- the attribute being decodedrule- properties to control decodingvalue- the value to decode- Returns:
- the returned final
IdPAttributeValueor null if decoding failed
-
-