1 /* 2 * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.] 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.opensaml.saml2.core; 18 19 import java.util.List; 20 21 import javax.xml.namespace.QName; 22 23 import org.opensaml.common.SAMLObject; 24 import org.opensaml.common.xml.SAMLConstants; 25 26 /** 27 * SAML 2.0 Core Subject. 28 */ 29 public interface Subject extends SAMLObject { 30 31 /** Element local name. */ 32 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Subject"; 33 34 /** Default element name. */ 35 public static final QName DEFAULT_ELEMENT_NAME = new QName(SAMLConstants.SAML20_NS, DEFAULT_ELEMENT_LOCAL_NAME, 36 SAMLConstants.SAML20_PREFIX); 37 38 /** Local name of the XSI type. */ 39 public static final String TYPE_LOCAL_NAME = "SubjectType"; 40 41 /** QName of the XSI type. */ 42 public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20_NS, TYPE_LOCAL_NAME, 43 SAMLConstants.SAML20_PREFIX); 44 45 /** 46 * Gets the base identifier of the principal for this request. 47 * 48 * @return the base identifier of the principal for this request 49 */ 50 public BaseID getBaseID(); 51 52 /** 53 * Sets the base identifier of the principal for this request. 54 * 55 * @param newBaseID the base identifier of the principal for this request 56 */ 57 public void setBaseID(BaseID newBaseID); 58 59 /** 60 * Gets the name identifier of the principal for this request. 61 * 62 * @return the name identifier of the principal for this request 63 */ 64 public NameID getNameID(); 65 66 /** 67 * Sets the name identifier of the principal for this request. 68 * 69 * @param newNameID the name identifier of the principal for this request 70 */ 71 public void setNameID(NameID newNameID); 72 73 /** 74 * Gets the encrypted name identifier of the principal for this request. 75 * 76 * @return the encrypted name identifier of the principal for this request 77 */ 78 public EncryptedID getEncryptedID(); 79 80 /** 81 * Sets the encrypted name identifier of the principal for this request. 82 * 83 * @param newEncryptedID the new encrypted name identifier of the principal for this request 84 */ 85 public void setEncryptedID(EncryptedID newEncryptedID); 86 87 /** 88 * Gets the confirmations made about this subject. 89 * 90 * @return the confirmations made about this subject 91 */ 92 public List<SubjectConfirmation> getSubjectConfirmations(); 93 }