
org.jboss.security.microcontainer.beans.metadata.ACLMetaData 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 the {@code } configuration in an application policy and contains the acl (instance-based
* authorization) 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>
* <acl>
* <acl-module code="org.jboss.security.authz.ACLModule1" flag="required">
* <module-option name="aclOption1">acl1.value1</module-option>
* </acl-module>
* <acl-module code="org.jboss.security.authz.ACLModule2" flag="required">
* <module-option name="aclOption1">acl2.value1</module-option>
* <module-option name="aclOption2">acl2.value2</module-option>
* </acl-module>
* </acl>
* ...
* </application-policy>
*
*
* The metadata that results from the XB parsing is used by the microcontainer to create an instance of
* {@code ACLPolicyBean} and inject this instance into the {@code ApplicationPolicyBean} that represents the application
* policy as a whole.
*
*
* @author Stefan Guilhen
*/
public class ACLMetaData extends BasePolicyMetaData
{
/*
* (non-Javadoc)
*
* @see org.jboss.security.microcontainer.beans.metadata.BasePolicyMetaData#setModules(java.util.List)
*/
@Override
@XmlElement(name = "acl-module", type = FlaggedModuleMetaData.class)
public void setModules(List modules)
{
super.modules = modules;
}
}