RequestSecurityToken.java revision 4a2f0f0be43dfd4c1b490cbf3cc48b6ba6084b1c
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * opensso/legal/CDDLv1.0.txt
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at opensso/legal/CDDLv1.0.txt.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: RequestSecurityToken.java,v 1.2 2009/10/13 23:19:49 mallas Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.wss.trust;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.trust.WSTException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport org.w3c.dom.Element;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * This abstract class <code>RequestSecurityToken</code> represents the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * WS-Trust protocol element RequestSecurityToken.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic abstract class RequestSecurityToken {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String REQUEST_SECURITY_TOKEN =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "RequestSecurityToken";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String REQUEST_TYPE = "RequestType";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String TOKEN_TYPE = "TokenType";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String APPLIES_TO = "AppliesTo";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String EP_REFERENCE = "EndpointReference";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String ADDRESS = "Address";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String ON_BEHALF_OF = "OnBehalfOf";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String KEY_TYPE = "KeyType";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected static final String CLAIMS = "Claims";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected String requestType = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected String appliesTo = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected Element oboToken = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected String keyType = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected String tokenType = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protected List<ClaimType> claimTypes = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the request type
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the request type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getRequestType() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return requestType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the request type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param requestType the request type
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setRequestType(String requestType) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.requestType = requestType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the token type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the token type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getTokenType() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return tokenType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the token type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param tokenType the token type.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setTokenType(String tokenType) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.tokenType = tokenType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the appliesTo attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the appliesTo attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getAppliesTo() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return appliesTo;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the appliesTo attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param appliesTo the appliesTo attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAppliesTo(String appliesTo) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.appliesTo = appliesTo;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the OnBehalfOf <code>Element</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the OnBehalfOf <code>Element</code>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Element getOnBehalfOf() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return oboToken;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the Ob behalf of token.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param oboToken the on behalf of token.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setOnBehalfOf(Element oboToken) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.oboToken = oboToken;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the keytype
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the keytype.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getKeyType() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return keyType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the keytype
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param keyType the keytype.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setKeyType(String keyType) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.keyType = keyType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the list of claim types.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the list of claim types.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public List getClaimTypes() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return claimTypes;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the list of claim types
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param claimTypes the list of claim types.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setClaimTypes(List claimTypes) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.claimTypes = claimTypes;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
//TODO - more to be added as per the protocol but this will suffice
// our needs for now.
/**
* Returns the DOM Element representation for the request security token.
* @return the DOM Element representation for the request security token.
* @throws com.sun.identity.wss.sts.protocol.WSTException
*/
public abstract Element toDOMElement() throws WSTException;
/**
* Converts into XML String
* @return the XML String for <code>RequestSecurityToken</code>.
* @throws com.sun.identity.wss.trust.WSTException
*/
public abstract String toXMLString() throws WSTException;
}