package org.atteo.moonshine.jetty.security;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import org.atteo.config.AbstractConfigurable;
import org.eclipse.jetty.security.ConstraintMapping;
@XmlRootElement(name = "constraint-mapping")
public class ConstraintMappingConfig extends AbstractConfigurable {
@XmlElement
private String method;
@XmlElementWrapper(name = "method-omissions")
@XmlElement(name = "method")
private List<String> methodOmissions;
@XmlElement(name = "path-spec")
private String pathSpec;
@XmlElementRef(required = true)
private ConstraintConfig constraintConfig;
public ConstraintMapping getConstraintMapping() {
ConstraintMapping constraintMapping = new ConstraintMapping();
constraintMapping.setMethod(method);
if (methodOmissions != null) {
constraintMapping.setMethodOmissions(methodOmissions.toArray(new String[methodOmissions.size()]));
}
constraintMapping.setConstraint(constraintConfig.getConstraint());
constraintMapping.setPathSpec(pathSpec);
return constraintMapping;
}
}