package com.intrbiz.bergamot.config.model;
import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.intrbiz.bergamot.config.adapter.CSVAdapter;
import com.intrbiz.bergamot.config.resolver.ResolveWith;
import com.intrbiz.bergamot.config.resolver.stratergy.SmartMergeSet;
@XmlType(name = "access-control")
@XmlRootElement(name = "access-control")
public class AccessControlCfg implements Serializable
{
private static final long serialVersionUID = 1L;
private String securityDomain;
private Set<String> grantedPermissions = new LinkedHashSet<String>();
private Set<String> revokedPermissions = new LinkedHashSet<String>();
public AccessControlCfg()
{
super();
}
@XmlAttribute(name = "security-domain")
public String getSecurityDomain()
{
return securityDomain;
}
public void setSecurityDomain(String securityDomain)
{
this.securityDomain = securityDomain;
}
@XmlJavaTypeAdapter(CSVAdapter.class)
@XmlAttribute(name = "grants")
@ResolveWith(SmartMergeSet.class)
public Set<String> getGrantedPermissions()
{
return grantedPermissions;
}
public void setGrantedPermissions(Set<String> grantedPermissions)
{
this.grantedPermissions = grantedPermissions;
}
@XmlJavaTypeAdapter(CSVAdapter.class)
@XmlAttribute(name = "revokes")
@ResolveWith(SmartMergeSet.class)
public Set<String> getRevokedPermissions()
{
return revokedPermissions;
}
public void setRevokedPermissions(Set<String> revokedPermissions)
{
this.revokedPermissions = revokedPermissions;
}
}