/* * Copyright 2016 Red Hat, Inc. and/or its affiliates * and other contributors as indicated by the @author tags. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.keycloak.saml.processing.core.saml.v2.common; import org.keycloak.dom.saml.v2.SAML2Object; import org.w3c.dom.Document; /** * A Holder class that can store the SAML object as well as the corresponding DOM object. * * Users of this class need to make it threadsafe by having one instance per thread (ThreadLocal) * * @author Anil.Saldhana@redhat.com * @since Aug 13, 2009 */ public class SAMLDocumentHolder { private SAML2Object samlObject; private Document samlDocument; public SAMLDocumentHolder(SAML2Object samlObject) { this.samlObject = samlObject; } public SAMLDocumentHolder(Document samlDocument) { this.samlDocument = samlDocument; } public SAMLDocumentHolder(SAML2Object samlObject, Document samlDocument) { this.samlObject = samlObject; this.samlDocument = samlDocument; } public SAML2Object getSamlObject() { return samlObject; } public void setSamlObject(SAML2Object samlObject) { this.samlObject = samlObject; } public Document getSamlDocument() { return samlDocument; } public void setSamlDocument(Document samlDocument) { this.samlDocument = samlDocument; } }