73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk/**
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk *
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk *
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * Copyright (c) 2011-2013 ForgeRock AS. All Rights Reserved
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk *
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * The contents of this file are subject to the terms
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * of the Common Development and Distribution License
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * (the License). You may not use this file except in
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * compliance with the License.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk *
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * You can obtain a copy of the License at
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * http://forgerock.org/license/CDDLv1.0.html
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * See the License for the specific language governing
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * permission and limitations under the License.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk *
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * When distributing Covered Code, include this CDDL
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * Header Notice in each file and include the License file
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * at http://forgerock.org/license/CDDLv1.0.html
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * If applicable, add the following below the CDDL Header,
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * with the fields enclosed by brackets [] replaced by
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * your own identifying information:
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * "Portions Copyrighted [year] [name of copyright owner]"
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk *
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk */
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster//
4c0f084e476c05989eb702c500a763ef09ba044ejeff.schenk// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster// Any modifications to this file will be lost upon recompilation of the source schema.
6e153e9671eb382c49354ab856404a71477cce58jeff.schenk// Generated on: 2013.01.21 at 10:40:04 AM PST
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster//
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
fb98811412f1a61efdc30b38091bf4708148a806Allan Fosterpackage com.sun.identity.entitlement.xacml3.core;
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
6e153e9671eb382c49354ab856404a71477cce58jeff.schenkimport java.util.ArrayList;
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenkimport java.util.Iterator;
6e153e9671eb382c49354ab856404a71477cce58jeff.schenkimport java.util.List;
4a48635cccc646ac479830fd4df0ee8e10c5bd8djeff.schenkimport javax.xml.bind.annotation.*;
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster/**
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <p>Java class for ResponseType complex type.
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <p>The following schema fragment specifies the expected content contained within this class.
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <pre>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;complexType name="ResponseType">
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;complexContent>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;sequence>
4c0f084e476c05989eb702c500a763ef09ba044ejeff.schenk * &lt;element ref="{urn:oasis:names:tc:xacml:3.0:core:schema:wd-17}Result" maxOccurs="unbounded"/>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;/sequence>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;/restriction>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;/complexContent>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * &lt;/complexType>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * </pre>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster */
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster@XmlAccessorType(XmlAccessType.FIELD)
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster@XmlType(name = "ResponseType", propOrder = {
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster "result"
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster})
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenkpublic class Response implements XACMLRootElement {
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster @XmlElement(name = "Result", required = true)
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster protected List<Result> result;
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster /**
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * Gets the value of the result property.
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <p>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * This accessor method returns a reference to the live list,
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * not a snapshot. Therefore any modification you make to the
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * returned list will be present inside the JAXB object.
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * This is why there is not a <CODE>set</CODE> method for the result property.
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <p>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * For example, to add a new item, do as follows:
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <pre>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * getResult().add(newItem);
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * </pre>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * <p>
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * Objects of the following type(s) are allowed in the list
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster * {@link Result }
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster *
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster */
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster public List<Result> getResult() {
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster if (result == null) {
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster result = new ArrayList<Result>();
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster }
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster return this.result;
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster }
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk /**
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * Default toXML Method to Marshal Object into XML.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk * @return String - Marshaled Results into XML String.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk */
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk public String toXML() {
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk StringBuilder stringBuilder = new StringBuilder();
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk stringBuilder.append("<").append("Response ").
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk append("xmlns=\"" + XACML3_NAMESPACE + "\"").
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk append(">");
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk // ************************************************
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk // Iterate over the Response Object to Marshal
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk // into XML.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk Iterator<Result> resultIterator = this.getResult().iterator();
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk while(resultIterator.hasNext()) {
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk Result result = resultIterator.next();
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk if (result != null) {
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk stringBuilder.append(result.toXML());
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk }
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk } // End of Loop for Embedded Results.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk // Finalize Response Node.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk stringBuilder.append("</Response>");
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk // Return Marshaled Data.
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk return stringBuilder.toString();
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk }
73308f54e60e4cdb893e8b02955497e8f45b5893jeff.schenk
fb98811412f1a61efdc30b38091bf4708148a806Allan Foster}