Class AbstractSAML2AttributeTranscoder<EncodedType extends IdPAttributeValue>
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder<AttributeType>
net.shibboleth.idp.saml.attribute.transcoding.AbstractSAMLAttributeTranscoder<Attribute,EncodedType>
net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder<EncodedType>
- Type Parameters:
EncodedType- the type of data that can be handled by the transcoder
- All Implemented Interfaces:
AttributeTranscoder<Attribute>,SAML2AttributeTranscoder<EncodedType>,Component,DestructableComponent,InitializableComponent
- Direct Known Subclasses:
SAML2ByteAttributeTranscoder,SAML2DateTimeAttributeTranscoder,SAML2ScopedStringAttributeTranscoder,SAML2StringAttributeTranscoder,SAML2XMLObjectAttributeTranscoder
public abstract class AbstractSAML2AttributeTranscoder<EncodedType extends IdPAttributeValue>
extends AbstractSAMLAttributeTranscoder<Attribute,EncodedType>
implements SAML2AttributeTranscoder<EncodedType>
Base class for transcoders that operate on a SAML 2
Attribute or RequestedAttribute.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA function to produce a "canonical" name for a SAML 2.0Attributefor transcoding rules. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SAMLObjectBuilder<Attribute>Builder used to constructAttributeobjects.private final org.slf4j.LoggerClass logger.private final SAMLObjectBuilder<RequestedAttribute>Builder used to constructRequestedAttributeobjects.Fields inherited from interface net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder
METADATA_TAG_NAME, PROP_ENCODE_TYPE, PROP_FRIENDLY_NAME, PROP_NAME, PROP_NAME_FORMAT, PROP_NAME_FROM_METADATA -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AttributebuildAttribute(ProfileRequestContext profileRequestContext, IdPAttribute attribute, Class<? extends Attribute> to, TranscodingRule rule, List<XMLObject> attributeValues) Builds a SAML attribute element from the given attribute values.protected IdPAttributebuildIdPAttribute(ProfileRequestContext profileRequestContext, Attribute attribute, TranscodingRule rule, List<IdPAttributeValue> attributeValues) Builds anIdPAttributefrom the given values.protected voidencodeName(ProfileRequestContext profileRequestContext, IdPAttribute attribute, Attribute samlAttribute, TranscodingRule rule) Get the name of the encoded object that would be created by a given set of instructions.Get the class representing the type of object supported by this transcoder.Returns the values to decode from the concrete input object.Methods inherited from class net.shibboleth.idp.saml.attribute.transcoding.AbstractSAMLAttributeTranscoder
canEncodeValue, decodeValue, doDecode, doEncode, encodeValue, getStringValueMethods inherited from class net.shibboleth.idp.attribute.transcoding.AbstractAttributeTranscoder
decode, encode, getNameFromMetadata, setActivationCondition, setNameFromMetadataLookupStrategyMethods 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.idp.attribute.transcoding.AttributeTranscoder
decode, encodeMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
attributeBuilder
Builder used to constructAttributeobjects. -
reqAttributeBuilder
Builder used to constructRequestedAttributeobjects.
-
-
Constructor Details
-
AbstractSAML2AttributeTranscoder
public AbstractSAML2AttributeTranscoder()Constructor.
-
-
Method Details
-
getEncodedType
Get the class representing the type of object supported by this transcoder.- Specified by:
getEncodedTypein interfaceAttributeTranscoder<EncodedType extends IdPAttributeValue>- Returns:
- object type supported
-
getEncodedName
Get the name of the encoded object that would be created by a given set of instructions.- Specified by:
getEncodedNamein interfaceAttributeTranscoder<EncodedType extends IdPAttributeValue>- Parameters:
rule- properties governing the encoding process- Returns:
- a canonical name for objects produced by this transcoder for the given instructions
-
buildAttribute
@Nonnull protected Attribute buildAttribute(@Nullable ProfileRequestContext profileRequestContext, @Nullable IdPAttribute attribute, @Nonnull Class<? extends Attribute> to, @Nonnull TranscodingRule rule, @Nonnull List<XMLObject> attributeValues) throws AttributeEncodingException Builds a SAML attribute element from the given attribute values.- Specified by:
buildAttributein classAbstractSAMLAttributeTranscoder<Attribute,EncodedType extends IdPAttributeValue> - Parameters:
profileRequestContext- current profile requestattribute- the attribute being encodedto- target type to createrule- properties to control encodingattributeValues- the encoded values for the attribute- Returns:
- the SAML attribute object
- Throws:
AttributeEncodingException- thrown if there is a problem constructing the SAML attribute
-
encodeName
protected void encodeName(@Nullable ProfileRequestContext profileRequestContext, @Nullable IdPAttribute attribute, @Nonnull Attribute samlAttribute, @Nonnull TranscodingRule rule) throws AttributeEncodingException - Throws:
AttributeEncodingException
-
buildIdPAttribute
@Nonnull protected IdPAttribute buildIdPAttribute(@Nullable ProfileRequestContext profileRequestContext, @Nonnull Attribute attribute, @Nonnull TranscodingRule rule, @Nonnull List<IdPAttributeValue> attributeValues) throws AttributeDecodingException Builds anIdPAttributefrom the given values.- Specified by:
buildIdPAttributein classAbstractSAMLAttributeTranscoder<Attribute,EncodedType extends IdPAttributeValue> - 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
-
getValues
Returns the values to decode from the concrete input object.- Specified by:
getValuesin classAbstractSAMLAttributeTranscoder<Attribute,EncodedType extends IdPAttributeValue> - Parameters:
input- input object- Returns:
- values to decode
-