Class RuntimeModeler


  • public class RuntimeModeler
    extends Object
    Creates a runtime model of a SEI (portClass).
    Author:
    WS Developement Team
    • Constructor Detail

      • RuntimeModeler

        public RuntimeModeler​(@NotNull
                              DatabindingConfig config)
        creates an instance of RunTimeModeler given a sei and binding
        Parameters:
        portClass - The SEI class to be modeled.
        serviceName - The ServiceName to use instead of one calculated from the implementation class
        wsdlPort - WSDLPort
        features - web service features
    • Method Detail

      • setClassLoader

        public void setClassLoader​(ClassLoader classLoader)
        sets the classloader to be used when loading classes by the RuntimeModeler.
        Parameters:
        classLoader - ClassLoader used to load classes
      • setPortName

        public void setPortName​(QName portName)
        sets the PortName to be used by the RuntimeModeler.
        Parameters:
        portName - The PortName to be used instead of the PortName retrieved via annotations
      • buildRuntimeModel

        public AbstractSEIModelImpl buildRuntimeModel()
        builds the runtime model from the portClass using the binding ID bindingId.
        Returns:
        the runtime model for the portClass.
      • determineWebMethodUse

        protected void determineWebMethodUse​(Class clazz)
      • createBinding

        protected SOAPBindingImpl createBinding​(jakarta.jws.soap.SOAPBinding soapBinding)
        creates a runtime model SOAPBinding from a jakarta.jws.soap.SOAPBinding object
        Parameters:
        soapBinding - the jakarta.jws.soap.SOAPBinding to model
        Returns:
        returns the runtime model SOAPBinding corresponding to soapBinding
      • getNamespace

        public static String getNamespace​(@NotNull
                                          String packageName)
        gets the namespace String for a given packageName
        Parameters:
        packageName - the name of the package used to find a namespace. can be empty.
        Returns:
        the namespace for the specified packageName
      • processDocWrappedMethod

        protected void processDocWrappedMethod​(JavaMethodImpl javaMethod,
                                               String methodName,
                                               String operationName,
                                               Method method)
        models a document/literal wrapped method
        Parameters:
        javaMethod - the runtime model JavaMethod instance being created
        methodName - the runtime model JavaMethod instance being created
        operationName - the runtime model JavaMethod instance being created
        method - the method to model
      • processRpcMethod

        protected void processRpcMethod​(JavaMethodImpl javaMethod,
                                        String methodName,
                                        String operationName,
                                        Method method)
        models a rpc/literal method
        Parameters:
        javaMethod - the runtime model JavaMethod instance being created
        methodName - the name of the method being modeled.
        operationName - the WSDL operation name for this method
        method - the runtime model JavaMethod instance being created
      • processExceptions

        protected void processExceptions​(JavaMethodImpl javaMethod,
                                         Method method)
        models the exceptions thrown by method and adds them to the javaMethod runtime model object
        Parameters:
        javaMethod - the runtime model object to add the exception model objects to
        method - the method from which to find the exceptions to model
      • getWSDLExceptionFaultInfo

        protected Method getWSDLExceptionFaultInfo​(Class exception)
        returns the method that corresponds to "getFaultInfo". Returns null if this is not an exception generated from a WSDL
        Parameters:
        exception - the class to search for the "getFaultInfo" method
        Returns:
        the method named "getFaultInfo" if this is an exception generated from WSDL or an exception that contains the WebFault annotation. Otherwise it returns null
      • processDocBareMethod

        protected void processDocBareMethod​(JavaMethodImpl javaMethod,
                                            String operationName,
                                            Method method)
        models a document/literal bare method
        Parameters:
        javaMethod - the runtime model JavaMethod instance being created
        operationName - the runtime model JavaMethod instance being created
        method - the runtime model JavaMethod instance being created
      • capitalize

        public static String capitalize​(String name)
        utility to capitalize the first letter in a string
        Parameters:
        name - the string to capitalize
        Returns:
        the capitalized string
      • getServiceName

        public static QName getServiceName​(Class<?> implClass)
        gets the wsdl:serviceName for a given implementation class
        Parameters:
        implClass - the implementation class
        Returns:
        the wsdl:serviceName for the implClass
      • getServiceName

        public static QName getServiceName​(Class<?> implClass,
                                           boolean isStandard)
      • getServiceName

        public static QName getServiceName​(Class<?> implClass,
                                           MetadataReader reader,
                                           boolean isStandard)
      • getPortName

        public static QName getPortName​(Class<?> implClass,
                                        String targetNamespace)
        gets the wsdl:portName for a given implementation class
        Parameters:
        implClass - the implementation class
        targetNamespace - Namespace URI for service name
        Returns:
        the wsdl:portName for the implClass
      • getPortName

        public static QName getPortName​(Class<?> implClass,
                                        String targetNamespace,
                                        boolean isStandard)
      • getPortTypeName

        public static QName getPortTypeName​(Class<?> implOrSeiClass)
        Gives portType QName from implementatorClass or SEI
        Parameters:
        implOrSeiClass - cant be null
        Returns:
        wsdl:portType@name, null if it could not find the annotated class.
      • erasure

        public static Class erasure​(Type type)