001/** 002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 003 * 004 * Copyright (c) 2007 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: ECPRelayState.java,v 1.2 2008/06/25 05:47:46 qcheng Exp $ 026 * 027 */ 028 029package com.sun.identity.saml2.ecp; 030 031import com.sun.identity.saml2.common.SAML2Exception; 032 033/** 034 * The <code>ECPRelayState</code> interface defines methods for properties 035 * required by an ECP RelayState. 036 * 037 * @supported.all.api 038 */ 039public interface ECPRelayState { 040 041 /** 042 * Returns the value of the <code>RelayState</code>. 043 * 044 * @return value of the <code>RelayState</code>. 045 * @see #setValue(String) 046 */ 047 public String getValue(); 048 049 /** 050 * Sets the value of the <code>RelayState</code>. 051 * 052 * @param value new value of the <code>RelayState</code>. 053 * @throws SAML2Exception if the object is immutable. 054 * @see #getValue 055 */ 056 public void setValue(String value) throws SAML2Exception; 057 058 /** 059 * Returns value of <code>mustUnderstand</code> attribute. 060 * 061 * @return value of <code>mustUnderstand</code> attribute. 062 */ 063 public Boolean isMustUnderstand(); 064 065 /** 066 * Sets the value of the <code>mustUnderstand</code> attribute. 067 * 068 * @param mustUnderstand the value of <code>mustUnderstand</code> 069 * attribute. 070 * @throws SAML2Exception if the object is immutable. 071 */ 072 public void setMustUnderstand(Boolean mustUnderstand) throws SAML2Exception; 073 074 /** 075 * Returns value of <code>actor</code> attribute. 076 * 077 * @return value of <code>actor</code> attribute 078 */ 079 public String getActor(); 080 081 /** 082 * Sets the value of <code>actor</code> attribute. 083 * 084 * @param actor the value of <code>actor</code> attribute 085 * @throws SAML2Exception if the object is immutable. 086 */ 087 public void setActor(String actor) throws SAML2Exception; 088 089 /** 090 * Returns a String representation of this Object. 091 * 092 * @return a String representation of this Object. 093 * @throws SAML2Exception if cannot create String object. 094 */ 095 public String toXMLString() throws SAML2Exception; 096 097 /** 098 * Returns a String representation of this Object. 099 * 100 * @param includeNSPrefix determines whether or not the namespace 101 * qualifier is prepended to the Element when converted 102 * @param declareNS determines whether or not the namespace is declared 103 * within the Element. 104 * @return the String representation of this Object. 105 * @throws SAML2Exception if cannot create String object. 106 **/ 107 108 public String toXMLString(boolean includeNSPrefix,boolean declareNS) 109 throws SAML2Exception; 110 111 /** 112 * Makes this object immutable. 113 * 114 */ 115 public void makeImmutable() ; 116 117 /** 118 * Returns true if object is mutable. 119 * 120 * @return true if object is mutable. 121 */ 122 public boolean isMutable(); 123}