/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.internal.xml.xsd.typeprovider.schema;
import gw.internal.xml.xsd.typeprovider.XmlSchemaIndex;
import gw.lang.reflect.LocationInfo;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
/**
* @author jimwang
*/
public final class WsdlDefinitions extends XmlSchemaObject<WsdlDefinitions> {
private final List<WsdlTypes> _types;
private final List<WsdlImport> _imports;
private final Map<QName, WsdlService> _services;
private final String _targetNamespace;
private final Map<QName, WsdlBinding> _bindings;
private final Map<QName, WsdlPortType> _portTypes;
private final Map<QName, WsdlMessage> _messages;
public WsdlDefinitions( XmlSchemaIndex index, LocationInfo locationInfo, List<WsdlTypes> types, List<WsdlImport> imports, Map<QName, WsdlService> services, String targetNamespace, Map<QName, WsdlBinding> bindings, Map<QName, WsdlPortType> portTypes, Map<QName, WsdlMessage> messages ){
super( index, locationInfo );
_types = types;
_imports = imports;
_services = services;
_targetNamespace = targetNamespace;
_bindings = bindings;
_portTypes = portTypes;
_messages = messages;
}
public List<WsdlTypes> getTypes() {
return _types;
}
public List<WsdlImport> getWsdlImports() {
return _imports;
}
public Map<QName, WsdlService> getServices() {
return _services;
}
public String getTargetNamespace() {
return _targetNamespace;
}
public WsdlBinding getBindingByQName( QName bindingName ) {
return _bindings.get( bindingName );
}
public WsdlPortType getPortTypeByQName( QName portTypeName ) {
return _portTypes.get( portTypeName );
}
public WsdlMessage getMessageByQName( QName messageQName ) {
return _messages.get( messageQName );
}
public Collection<WsdlPortType> getPortTypes() {
return _portTypes.values();
}
}