/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.xml.ws.typeprovider.paraminfo; import gw.internal.xml.xsd.typeprovider.IXmlSchemaElementTypeData; import gw.internal.xml.xsd.typeprovider.IXmlType; import gw.lang.reflect.IType; import gw.xml.XmlElement; import javax.xml.namespace.QName; public class IdentityWsdlOperationParameterInfo extends WsdlOperationParameterInfo { public IdentityWsdlOperationParameterInfo( IType parameterElementType, QName parameterElementName, boolean throwIfAnonymous ) throws AnonymousElementException { super( parameterElementType, parameterElementName ); if ( parameterElementType instanceof IXmlType ) { IXmlType xmlType = (IXmlType) parameterElementType; IXmlSchemaElementTypeData typeData = (IXmlSchemaElementTypeData) xmlType.getTypeData(); if ( throwIfAnonymous && typeData.isAnonymous() ) { throw new AnonymousElementException(); // we don't want to expose any anonymous types } } } @Override public IType getType() { return getParameterElementType(); } @Override public Object unwrap( XmlElement node ) { return node; } @Override public String getName() { return "request"; } @Override public XmlElement wrap( Object obj, XmlElement componentElement ) { return (XmlElement) obj; } }