package org.jboss.as.webservices.deployers; import org.jboss.ws.api.annotation.WebContext; import org.jboss.as.ee.metadata.ClassAnnotationInformationFactory; import org.jboss.jandex.AnnotationInstance; import org.jboss.jandex.AnnotationValue; import org.jboss.metadata.property.PropertyReplacer; /** * User: rsearls * Date: 7/17/14 */ public class WebContextAnnotationInformationFactory extends ClassAnnotationInformationFactory<WebContext, WebContextAnnotationInfo> { protected WebContextAnnotationInformationFactory() { super(org.jboss.ws.api.annotation.WebContext.class, null); } @Override protected WebContextAnnotationInfo fromAnnotation(final AnnotationInstance annotationInstance, final PropertyReplacer propertyReplacer) { String authMethodValue = asString(annotationInstance, "authMethod"); String contextRootValue = asString(annotationInstance, "contextRoot"); boolean secureWSDLAccessValue = asBoolean(annotationInstance, "secureWSDLAccessValue"); String transportGuaranteeValue = asString(annotationInstance, "transportGuarantee"); String urlPatternValue = asString(annotationInstance, "urlPattern"); String virtualHostValue = asString(annotationInstance, "virtualHost"); return new WebContextAnnotationInfo(authMethodValue, contextRootValue, secureWSDLAccessValue, transportGuaranteeValue, urlPatternValue, virtualHostValue); } private String asString(final AnnotationInstance annotation, String property) { AnnotationValue value = annotation.value(property); return value == null ? "" : value.asString(); } private boolean asBoolean(final AnnotationInstance annotation, String property) { AnnotationValue value = annotation.value(property); return value == null ? false : Boolean.getBoolean(value.asString()); } }