com.sun.xml.wss.saml.assertion.saml11.jaxb20.AuthenticationStatement Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xws-security Show documentation
Show all versions of xws-security Show documentation
sun xml wss xws-security library
The newest version!
/*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the "License"). You may not use this file except
* in compliance with the License.
*
* You can obtain a copy of the license at
* https://jwsdp.dev.java.net/CDDLv1.0.html
* See the License for the specific language governing
* permissions and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* HEADER in each file and include the License file at
* https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
* add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your
* own identifying information: Portions Copyright [yyyy]
* [name of copyright owner]
*/
/*
* $Id: AuthenticationStatement.java,v 1.5 2007/01/08 16:06:06 shyam_rao Exp $
*/
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.sun.xml.wss.saml.assertion.saml11.jaxb20;
import com.sun.xml.wss.saml.SAMLException;
import com.sun.xml.wss.logging.LogDomainConstants;
import com.sun.xml.wss.saml.internal.saml11.jaxb20.AuthenticationStatementType;
import com.sun.xml.wss.saml.util.SAMLJAXBUtil;
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import org.w3c.dom.Element;
import java.util.List;
import java.util.logging.Logger;
import javax.xml.bind.JAXBContext;
/**
* The AuthenticationStatement
element supplies a
* statement by the issuer that its subject was authenticated by a
* particular means at a particular time. The
* AuthenticationStatement
element is of type
* AuthenticationStatementType
, which extends the
* SubjectStatementAbstractType
with the additional element and
* attributes.
*/
public class AuthenticationStatement extends AuthenticationStatementType
implements com.sun.xml.wss.saml.AuthenticationStatement {
protected static final Logger log = Logger.getLogger(
LogDomainConstants.WSS_API_DOMAIN,
LogDomainConstants.WSS_API_DOMAIN_BUNDLE);
/**
*Default constructor
*/
protected AuthenticationStatement() {
super();
}
/**
* This constructor builds an authentication statement element from an
* existing XML block.
*
* @param element representing a DOM tree element.
* @exception SAMLException if there is an error in the sender or in the
* element definition.
*/
public static AuthenticationStatementType fromElement(Element element) throws SAMLException {
try {
JAXBContext jc = SAMLJAXBUtil.getJAXBContext();
javax.xml.bind.Unmarshaller u = jc.createUnmarshaller();
return (AuthenticationStatementType)u.unmarshal(element);
} catch ( Exception ex) {
throw new SAMLException(ex.getMessage());
}
}
private void setAuthorityBinding(List authorityBinding) {
this.authorityBinding = authorityBinding;
}
/**
* Constructor for authentication statement
*
* @param authMethod (optional) A String specifies the type of authentication
* that took place.
* @param authInstant (optional) A GregorianCalendar specifies the time at which the
* authentication that took place.
* @param subject (required) A Subject object
* @param subjectLocality (optional) A SubjectLocality
object.
* @param authorityBinding (optional) A List of AuthorityBinding
* objects.
* @exception SAMLException if there is an error in the sender.
*/
public AuthenticationStatement(
String authMethod, GregorianCalendar authInstant, Subject subject,
SubjectLocality subjectLocality, List authorityBinding) {
if ( authMethod != null)
setAuthenticationMethod(authMethod);
if ( authInstant != null) {
try {
DatatypeFactory factory = DatatypeFactory.newInstance();
setAuthenticationInstant(factory.newXMLGregorianCalendar(authInstant));
}catch ( DatatypeConfigurationException ex ) {
//ignore
}
}
if ( subject != null)
setSubject(subject);
if ( subjectLocality != null)
setSubjectLocality(subjectLocality);
if ( authorityBinding != null)
setAuthorityBinding(authorityBinding);
}
}