package org.atteo.moonshine.jetty.security;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import org.atteo.config.AbstractConfigurable;
import org.eclipse.jetty.util.security.Constraint;
@XmlRootElement(name = "constraint")
public class ConstraintConfig extends AbstractConfigurable {
@XmlElement
private boolean authenticate = false;
@XmlElementWrapper(name = "roles")
@XmlElement(name = "role")
private List<String> roles;
@XmlElement
private String name;
@XmlElement(name = "data-constraint")
private int dataConstraint;
public Constraint getConstraint() {
Constraint constraint = new Constraint();
constraint.setAuthenticate(authenticate);
if (roles != null) {
constraint.setRoles(roles.toArray(new String[roles.size()]));
}
constraint.setName(name);
constraint.setDataConstraint(dataConstraint);
return constraint;
}
}