net.geant.edugain.base
Class AttributeResponse

java.lang.Object
  extended by net.geant.edugain.base.Response
      extended by net.geant.edugain.base.AttributeResponse
All Implemented Interfaces:
java.io.Serializable

public class AttributeResponse
extends Response
implements java.io.Serializable

A response containing attributes according to a previously issued AttributeRequest. It must contain a list of attribute/value(s) pairs and/or reasons for not disclosing certain values or attributes, according to service and privacy policies.

This class extends Response.

Version:
1.0
Author:
Jose Manuel Macias, Jaime Perez
See Also:
Serialized Form

Field Summary
protected  java.util.ArrayList<AttributeValues> attributeValues
          A list of elements, each of them corresponding to one attribute that the identity source is willing to deliver upon successful authentication.
protected  java.lang.String subjectHandle
          The identification string obtained upon the last successful authentication of the subject requesting access to the resource.
 
Fields inherited from class net.geant.edugain.base.Response
additionalData, consumerId, EDUGAIN_NAMESPACE_RESULT_ACCEPTED, EDUGAIN_NAMESPACE_RESULT_CONNECT_TO, EDUGAIN_NAMESPACE_RESULT_DENY, EDUGAIN_NAMESPACE_RESULT_EXPIRED_MESSAGE, EDUGAIN_NAMESPACE_RESULT_FAULT, EDUGAIN_NAMESPACE_RESULT_INCOMPATIBLE_VERSIONS, EDUGAIN_NAMESPACE_RESULT_INSUFFICIENT_DATA, EDUGAIN_NAMESPACE_RESULT_INVALID_CREDENTIALS, EDUGAIN_NAMESPACE_RESULT_MALFORMED_MESSAGE, EDUGAIN_NAMESPACE_RESULT_REDIRECT_USER_TO, EDUGAIN_NAMESPACE_RESULT_TRUST_ERROR, EDUGAIN_NAMESPACE_RESULT_UNKNOWN_HOMESITE, errorMessage, errorReason, inResponseTo, interfaces, issued, log, notBefore, notOnOrAfter, producerId, responseID, result, resultMessage, samlObject, strictMode, validator
 
Constructor Summary
AttributeResponse()
          Creates a new instance of AttributeResponse
AttributeResponse(boolean strict)
          Creates a new instance of AttributeResponse
AttributeResponse(org.w3c.dom.Element element)
          Creates a new instance of AttributeResponse, filling the fields with the SAML document from an Element.
AttributeResponse(org.w3c.dom.Element element, boolean strict)
          Creates a new instance of AttributeResponse, filling the fields with the SAML document from an Element.
AttributeResponse(java.io.InputStream stream)
          Creates a new instance of AttributeResponse, filling the fields with the SAML document from an InputStream.
AttributeResponse(java.io.InputStream stream, boolean strict)
          Creates a new instance of AttributeResponse, filling the fields with the SAML document from an InputStream.
AttributeResponse(org.opensaml.saml2.core.Response rsp)
          Creates a new instance of AttributeResponse, filling the fields with the Response data received.
AttributeResponse(org.opensaml.SAMLResponse rsp)
          Creates a new instance of AttributeResponse, filling the fields with the SAMLResponse data received.
AttributeResponse(org.opensaml.SAMLResponse rsp, boolean strict)
          Creates a new instance of AttributeResponse, filling the fields with the SAMLResponse data received.
 
Method Summary
 void addAttributeValue(AttributeValues values)
          Adds the specified attribute-value to the current list.
 void addAttributeValue(java.lang.String namespace, java.lang.String name, java.lang.String[] values)
          Adds the specified attribute-value to the current list.
 void fromSAML(org.opensaml.saml2.core.Response response)
          Fill this AttributeResponse with a SAML 2 Response
 void fromSAML(org.opensaml.SAMLResponse response)
          Fill this AttributeResponse with a SAMLResponse.
 java.util.ArrayList<AttributeValues> getAttributeValueList()
          Gets the list of attribute-value pairs
 java.lang.String getSubjectHandle()
          Gets the value of the SubjectHandle
 void setAttributeValueList(java.util.ArrayList<AttributeValues> attributeValueList)
          Sets the list of attribute-value pairs
 void setSubjectHandle(java.lang.String handle)
          Sets the subject handle
 java.lang.Object toSAML()
          Converts this response object into a SAML response.
private  org.opensaml.SAMLResponse toSAML1(int minor)
          Map the current AttributeResponse to a SAML 1.X response.
private  org.opensaml.saml2.core.Response toSAML2(int minor)
          Map the current AttributeResponse to a SAML 2.X response.
 
Methods inherited from class net.geant.edugain.base.Response
addInterface, fromSAML, generateResponseID, getAdditionalData, getConsumerId, getInResponseTo, getInterfaces, getIssued, getNotBefore, getNotOnOrAfter, getProducerId, getResponseID, getResult, getResultMessage, isStrict, setAdditionalData, setConsumerId, setInResponseTo, setInterfaces, setIssued, setNotBefore, setNotOnOrAfter, setProducerId, setResponseID, setResult, setResultMessage, setStrict, setValidator, toBase64, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

subjectHandle

protected java.lang.String subjectHandle
The identification string obtained upon the last successful authentication of the subject requesting access to the resource.


attributeValues

protected java.util.ArrayList<AttributeValues> attributeValues
A list of elements, each of them corresponding to one attribute that the identity source is willing to deliver upon successful authentication.

Constructor Detail

AttributeResponse

public AttributeResponse()
                  throws BaseException
Creates a new instance of AttributeResponse

Throws:
BaseException

AttributeResponse

public AttributeResponse(boolean strict)
                  throws BaseException
Creates a new instance of AttributeResponse

Parameters:
strict - Whether to use strict mode or not.
Throws:
BaseException

AttributeResponse

public AttributeResponse(java.io.InputStream stream)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the SAML document from an InputStream.

Parameters:
stream - The InputStream.
Throws:
BaseException

AttributeResponse

public AttributeResponse(java.io.InputStream stream,
                         boolean strict)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the SAML document from an InputStream.

Parameters:
stream - The InputStream.
strict - Whether to use strict mode or not.
Throws:
BaseException

AttributeResponse

public AttributeResponse(org.w3c.dom.Element element)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the SAML document from an Element.

Parameters:
element - The Element.
Throws:
BaseException

AttributeResponse

public AttributeResponse(org.w3c.dom.Element element,
                         boolean strict)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the SAML document from an Element.

Parameters:
element - The Element.
strict - Whether to use strict mode or not.
Throws:
BaseException

AttributeResponse

public AttributeResponse(org.opensaml.SAMLResponse rsp)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the SAMLResponse data received.

Parameters:
rsp - The original SAML response.
Throws:
BaseException

AttributeResponse

public AttributeResponse(org.opensaml.SAMLResponse rsp,
                         boolean strict)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the SAMLResponse data received.

Parameters:
rsp - The original SAML response.
strict - Whether to use strict mode or not.
Throws:
BaseException

AttributeResponse

public AttributeResponse(org.opensaml.saml2.core.Response rsp)
                  throws BaseException
Creates a new instance of AttributeResponse, filling the fields with the Response data received.

Parameters:
rsp - The original SAML 2 response.
Throws:
BaseException
Method Detail

setSubjectHandle

public void setSubjectHandle(java.lang.String handle)
Sets the subject handle


getSubjectHandle

public java.lang.String getSubjectHandle()
Gets the value of the SubjectHandle


getAttributeValueList

public java.util.ArrayList<AttributeValues> getAttributeValueList()
Gets the list of attribute-value pairs


addAttributeValue

public void addAttributeValue(java.lang.String namespace,
                              java.lang.String name,
                              java.lang.String[] values)
Adds the specified attribute-value to the current list.

Parameters:
namespace - The namespace of the attribute.
name - The name of the attribute.
values - A set of values for the attribute.

addAttributeValue

public void addAttributeValue(AttributeValues values)
Adds the specified attribute-value to the current list.

Parameters:
values - The AttributeValues to add.

setAttributeValueList

public void setAttributeValueList(java.util.ArrayList<AttributeValues> attributeValueList)
Sets the list of attribute-value pairs


fromSAML

public void fromSAML(org.opensaml.SAMLResponse response)
              throws BaseException
Fill this AttributeResponse with a SAMLResponse.

Specified by:
fromSAML in class Response
Parameters:
response - The SAML response.
Throws:
BaseException

fromSAML

public void fromSAML(org.opensaml.saml2.core.Response response)
              throws BaseException
Fill this AttributeResponse with a SAML 2 Response

Specified by:
fromSAML in class Response
Throws:
BaseException

toSAML

public java.lang.Object toSAML()
                        throws BaseException
Converts this response object into a SAML response. Please consider that this method returns an OpenSAML1 or an OpenSAML2 Response object depending on the SAML version eduGAIN is configured to use.

Specified by:
toSAML in class Response
Returns:
A SAMLResponse or a Response, depending on the SAML version eduGAIN is configured to use.
Throws:
BaseException

toSAML1

private org.opensaml.SAMLResponse toSAML1(int minor)
                                   throws BaseException
Map the current AttributeResponse to a SAML 1.X response.

Parameters:
minor - The minor version number (can be 0 or 1).
Returns:
The SAMLResponse that corresponds with this AttributeResponse.
Throws:
BaseException

toSAML2

private org.opensaml.saml2.core.Response toSAML2(int minor)
                                          throws BaseException
Map the current AttributeResponse to a SAML 2.X response.

Parameters:
minor - The minor version number (can be 0 or 1).
Returns:
The Response that corresponds with this AttributeResponse.
Throws:
BaseException