a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
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 * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
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 * $Id: AssertionIDRefImpl.java,v 1.2 2008/06/25 05:47:42 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml2.assertion.AssertionIDRef;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml2.common.SAML2Constants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml2.common.SAML2Exception;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml2.common.SAML2Utils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * This class represents the AssertionIDRef element.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <p>The following schema fragment specifies the expected
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * content contained within this java content object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <element name="AssertionIDRef" type="NCName"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class AssertionIDRefImpl implements AssertionIDRef {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Class constructor. Caller may need to call setters to populate the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Class constructor with <code>AssertionIDRef</code> in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>Element</code> format.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param element A <code>Element</code> representing DOM tree for
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>AssertionIDRef</code> object
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception SAML2Exception if it could not process the Element
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public AssertionIDRefImpl(Element element) throws SAML2Exception
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Class constructor with <code>AssertionIDRef</code> in xml string format.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param xmlString A <code>String</code> representing a
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>AssertionIDRef</code> object
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception SAML2Exception if it could not process the XML string
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public AssertionIDRefImpl(String xmlString) throws SAML2Exception
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Document doc = XMLUtils.toDOMDocument(xmlString, SAML2Utils.debug);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "errorObtainingElement"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the value of the <code>AssertionIDRef</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the value of this <code>AssertionIDRef</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setValue(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the value of this <code>AssertionIDRef</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param value new <code>AssertionIDRef</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws SAML2Exception if the object is immutable.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getValue()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setValue(String value) throws SAML2Exception
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "objectImmutable"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Makes the object immutable.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the mutability of the object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return true if the object is mutable; false otherwise.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns a String representation of the element.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return A string containing the valid XML for this element.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * By default name space name is prepended to the element name.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws SAML2Exception if the object does not conform to the schema.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String toXMLString() throws SAML2Exception
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return toXMLString(true, false);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns a String representation of the element.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param includeNS Determines whether or not the namespace qualifier is
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * prepended to the Element when converted
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param declareNS Determines whether or not the namespace is declared
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * within the Element.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return A string containing the valid XML for this element
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws SAML2Exception if the object does not conform to the schema.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String toXMLString(boolean includeNS, boolean declareNS)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((value == null) || (value.trim().length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SAML2Utils.debug.message("AssertionIDRefImpl.toXMLString: "+
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "AssertionIDRef value is null or empty.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "emptyElementValue"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return ("<" + prefix + SAML2Constants.ASSERTION_ID_REF + uri + ">" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster value + "</" + prefix + SAML2Constants.ASSERTION_ID_REF + ">");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseElement(Element element) throws SAML2Exception
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SAML2Utils.debug.message("AssertionIDRefImpl.parseElement:"+
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster " Input is null.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "nullInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (!SAML2Constants.ASSERTION_ID_REF.equals(tag)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SAML2Utils.debug.message("AssertionIDRefImpl.parseElement: " +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "Element local name is not AssertionIDRef.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "AssertionIDRefImpl.parseElement: " +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "AssertionIDRef can't have child element.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((value == null) || (value.trim().length() == 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SAML2Utils.debug.message("AssertionIDRefImpl.parseElement: " +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "AssertionIDRef value is null or empty.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new SAML2Exception(SAML2Utils.bundle.getString(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "emptyElementValue"));