All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.security.microcontainer.beans.metadata.MappingMetaData Maven / Gradle / Ivy

/*
 * JBoss, Home of Professional Open Source.
 * Copyright 2008, Red Hat Middleware LLC, and individual contributors
 * as indicated by the @author tags. See the copyright.txt file in the
 * distribution for a full listing of individual contributors. 
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package org.jboss.security.microcontainer.beans.metadata;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;

/**
 * 

* This class represents a {@code } or a {@code } configuration in an application policy and * contains the mapping metadata information extracted by the XB parser. *

*

* The following policy excerpt shows an example of {@code } configuration: * *

 *  <application-policy xmlns="urn:jboss:security-beans:1.0" name="TestPolicy1">
 *     <authentication>
 *        ...
 *     </authentication>
 *     ...
 *     <rolemapping>
 *        <mapping-module code="org.jboss.security.mapping.RoleMappingModule">
 *           <module-option name="mappingOption1">mapping.value1</module-option>
 *           <module-option name="mappingOption2">mapping.value2</module-option>
 *        </mapping-module>
 *     </rolemapping>
 *     ...
 *  </application-policy>
 * 
* * Now an example of a {@code } configuration: * *
 *  <application-policy xmlns="urn:jboss:security-beans:1.0" name="TestPolicy1">
 *     <authentication>
 *        ...
 *     </authentication>
 *     ...
 *     <mapping>
 *        <mapping-module code="org.jboss.security.mapping.RoleMappingModule" type="role">
 *           <module-option name="mappingOption1">mapping.value1</module-option>
 *           <module-option name="mappingOption2">mapping.value2</module-option>
 *        </mapping-module>
 *     </mapping>
 *     ...
 *  </application-policy>
 * 
* * As can be noticed, both configurations are very similar. As a matter of fact, any module in a {@code } * configuration is actually registered as a {@code } module of type {@code "role"}. * * The metadata that results from the XB parsing is used by the microcontainer to create an instance of * {@code IdentityTrustPolicyBean} and inject this instance into the {@code ApplicationPolicyBean} that represents the * application policy as a whole. *

* * @author Stefan Guilhen */ public class MappingMetaData extends BasePolicyMetaData { /* * (non-Javadoc) * * @see org.jboss.security.microcontainer.beans.metadata.BasePolicyMetaData#setModules(java.util.List) */ @Override @XmlElement(name = "mapping-module", type = MappingModuleMetaData.class) public void setModules(List modules) { super.modules = modules; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy