001/**
002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003 *
004 * Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
005 *
006 * The contents of this file are subject to the terms
007 * of the Common Development and Distribution License
008 * (the License). You may not use this file except in
009 * compliance with the License.
010 *
011 * You can obtain a copy of the License at
012 * https://opensso.dev.java.net/public/CDDLv1.0.html or
013 * opensso/legal/CDDLv1.0.txt
014 * See the License for the specific language governing
015 * permission and limitations under the License.
016 *
017 * When distributing Covered Code, include this CDDL
018 * Header Notice in each file and include the License file
019 * at opensso/legal/CDDLv1.0.txt.
020 * If applicable, add the following below the CDDL Header,
021 * with the fields enclosed by brackets [] replaced by
022 * your own identifying information:
023 * "Portions Copyrighted [year] [name of copyright owner]"
024 *
025 * $Id: NameIDMappingRequest.java,v 1.2 2008/06/25 05:47:57 qcheng Exp $
026 *
027 */
028
029package com.sun.identity.saml2.protocol;
030
031import com.sun.identity.saml2.protocol.RequestAbstract;
032import com.sun.identity.saml2.protocol.NewEncryptedID;
033import com.sun.identity.saml2.assertion.EncryptedID;
034import com.sun.identity.saml2.assertion.NameID;
035import com.sun.identity.saml2.common.SAML2Exception;
036
037/**
038 * This class represents the ManageNameIDRequestType complex type.
039 * <p>The following schema fragment specifies the expected        
040 * content contained within this java content object.   
041 * <p>
042 * <pre>
043 * &lt;complexType name="ManageNameIDRequestType">
044 *   &lt;complexContent>
045 *     &lt;extension base="{urn:oasis:names:tc:SAML:2.0:protocol}RequestAbstractType">
046 *       &lt;sequence>
047 *         &lt;choice>
048 *           &lt;element ref="{urn:oasis:names:tc:SAML:2.0:assertion}NameID"/>
049 *           &lt;element ref="{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID"/>
050 *         &lt;/choice>
051 *         &lt;choice>
052 *           &lt;element ref="{urn:oasis:names:tc:SAML:2.0:protocol}NewID"/>
053 *           &lt;element ref="{urn:oasis:names:tc:SAML:2.0:protocol}NewEncryptedID"/>
054 *           &lt;element ref="{urn:oasis:names:tc:SAML:2.0:protocol}Terminate"/>
055 *         &lt;/choice>
056 *       &lt;/sequence>
057 *     &lt;/extension>
058 *   &lt;/complexContent>
059 * &lt;/complexType>
060 * </pre>
061 * 
062 * @supported.all.api
063 */
064public interface NameIDMappingRequest extends RequestAbstract {
065    /**
066     * Returns the value of the <code>encryptedID</code> property.
067     * 
068     * @return the value of the <code>encryptedID</code> property.
069     */
070    EncryptedID getEncryptedID();
071
072    /**
073     * Sets the value of the <code>encryptedID</code> property.
074     * 
075     * @param value the value of the <code>encryptedID</code> property.
076     * @throws SAML2Exception if <code>Object</code> is immutable.
077     */
078    void setEncryptedID(EncryptedID value)
079    throws SAML2Exception;
080
081    /**
082     * Returns the value of the <code>nameID</code> property.
083     * 
084     * @return the value of the <code>nameID</code> property.
085     */
086    NameID getNameID();
087
088    /**
089     * Sets the value of the <code>nameID</code> property.
090     * 
091     * @param value the value of the <code>nameID</code> property.
092     * @throws SAML2Exception if <code>Object</code> is immutable.
093     */
094    void setNameID(NameID value)
095    throws SAML2Exception;
096
097    /**
098     * Returns the value of the baseID property.
099     *
100     * @return the value of the baseID property
101     * @see #setBaseID(BaseID)
102     */
103    public com.sun.identity.saml2.assertion.BaseID getBaseID();
104
105    /**
106     * Sets the value of the baseID property.
107     *
108     * @param value the value of the baseID property to be set
109     * @throws SAML2Exception if the object is immutable
110     * @see #getBaseID
111     */
112    public void setBaseID(com.sun.identity.saml2.assertion.BaseID value)
113    throws SAML2Exception;
114
115   /**
116     * Returns the <code>NameIDPolicy</code> object.
117     *
118     * @return the <code>NameIDPolicy</code> object.
119     * @see #setNameIDPolicy(NameIDPolicy)
120     */
121    public NameIDPolicy getNameIDPolicy();
122
123    /**
124     * Sets the <code>NameIDPolicy</code> object.
125     *
126     * @param nameIDPolicy the new <code>NameIDPolicy</code> object.
127     * @throws SAML2Exception if the object is immutable.
128     * @see #getNameIDPolicy
129     */
130
131    public void setNameIDPolicy(NameIDPolicy nameIDPolicy)
132    throws SAML2Exception;
133
134
135}