Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.axis.wsdl.fromJava
Class Types

    java.lang.Object
      org.apache.axis.wsdl.fromJava.Types

public class Types
extends Object

Description:

This class is used to recursively serializes a Java Class into an XML Schema representation.

It has utility methods to create a schema node, assosiate namespaces to the various types

Author:
  unascribed

Constructor Summary
`Types(javax.wsdl.Definition def, TypeMapping tm, TypeMapping defaultTM, Namespaces namespaces, String targetNamespace, List stopClasses, ServiceDesc serviceDesc)` This class serailizes a `Class` to XML Schema.

Method Summary
`Element` | `createArrayElement(String componentTypeName)`
`Element` | `createAttributeElement(String elementName, Class javaType, javax.xml.namespace.QName xmlType, boolean nullable, Document docHolder)` Create Attribute Element with a given name and type
`Element` | `createElement(String elementName)` Create a DOM Element in this context
`Element` | `createElement(String elementName, String elementType, boolean nullable, boolean omittable, Document docHolder)` Create Element with a given name and type
`Element` | `createElementDecl(String name, Class javaType, javax.xml.namespace.QName typeQName, boolean nillable, boolean omittable)` Create Element
`Element` | `createElementWithAnonymousType(String elementName, Class fieldType, boolean omittable, Document ownerDocument)` Write an <element> with an anonymous internal ComplexType
`static String` | `getLocalNameFromFullName(String full)` Utility method to get the local class name from a fully qualified java class name
`Namespaces` | `getNamespaces()` Return the namespaces object for the current context
`static String` | `getPackageNameFromFullName(String full)` Utility method to get the package name from a fully qualified java class name
`String` | `getQNameString(javax.xml.namespace.QName qname)` Return a string suitable for representing a given QName in the context of this WSDL document.
`List` | `getStopClasses()` Return the list of classes that we should not emit WSDL for.
`javax.xml.namespace.QName` | `getTypeQName(Class javaType)` Return the QName of the specified javaType
`void` | `insertTypesFragment(Document doc)` Inserts the type fragment into the given wsdl document
`boolean` | `isAcceptableAsAttribute(Class type)` Is the given class acceptable as an attribute
`static boolean` | `isEnumClass(Class cls)` Returns true if indicated type matches the JAX-RPC enumeration class.
`boolean` | `isNullable(Class type)` Determines if the field is nullable.
`void` | `loadInputSchema(String inputSchema)` Loads the types from the input schema file.
`void` | `loadInputTypes(String inputWSDL)` Load the types from the input wsdl file.
`void` | `updateNamespaces()`
`javax.xml.namespace.QName` | `writeElementForPart(Class type, javax.xml.namespace.QName qname)` Write out an element referenced by a part element attribute.
`Element` | `writeEnumType(javax.xml.namespace.QName qName, Class cls)` Write Enumeration Complex Type (Only supports enumeration classes of string types)
`void` | `writeSchemaElement(javax.xml.namespace.QName qName, Element element)` Write out the given Element into the appropriate schema node.
`String` | `writeType(Class type)` Write a schema representation for the given `Class`.
`String` | `writeType(Class type, javax.xml.namespace.QName qName)` Write a schema representation for the given `Class`.
`javax.xml.namespace.QName` | `writeTypeForPart(Class type, javax.xml.namespace.QName qname)` Write out a type referenced by a part type attribute.
`void` | `writeWrappedParameter(Element sequence, String name, javax.xml.namespace.QName type, Class javaType)` Write a parameter (a sub-element) into a sequence generated by writeWrapperElement() above.
`Element` | `writeWrapperElement(javax.xml.namespace.QName qname, boolean request, boolean hasParams)` Write the element definition for a WRAPPED operation.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Types

    public Types(javax.wsdl.Definition def,
                 TypeMapping tm,
                 TypeMapping defaultTM,
                 Namespaces namespaces,
                 String targetNamespace,
                 List stopClasses,
                 ServiceDesc serviceDesc)

  This class serailizes a `Class` to XML Schema. The constructor provides the context for the streamed node within the WSDL document

Parameters:
  `def` - WSDL Definition Element to declare namespaces
  `tm` - TypeMappingRegistry to handle known types
  `defaultTM` - default TM
  `namespaces` - user defined or autogenerated namespace and prefix maps
  `targetNamespace` - targetNamespace of the document

Method Detail

### getNamespaces

    public Namespaces getNamespaces()

  Return the namespaces object for the current context

### loadInputSchema

    public void loadInputSchema(String inputSchema)
                         throws IOException,
                                javax.wsdl.WSDLException,
                                SAXException,
                                ParserConfigurationException

  Loads the types from the input schema file.

  Parameters:
    `inputSchema` - file or URL
  Throws:
    `IOException`
    `javax.wsdl.WSDLException`
    `SAXException`
    `ParserConfigurationException`

### loadInputTypes

    public void loadInputTypes(String inputWSDL)
                        throws IOException,
                               javax.wsdl.WSDLException,
                               SAXException,
                               ParserConfigurationException

  Load the types from the input wsdl file.

  Parameters:
    `inputWSDL` - file or URL
  Throws:
    `IOException`
    `javax.wsdl.WSDLException`
    `SAXException`
    `ParserConfigurationException`

### writeTypeForPart

    public javax.xml.namespace.QName writeTypeForPart(Class type,
                                                      javax.xml.namespace.QName qname)
                                               throws AxisFault

  Write out a type referenced by a part type attribute.

  Parameters:
    `type` - `Class` to generate the XML Schema info for
    `qname` - `QName` of the type. If null, qname is defaulted from the class.
  Returns:
    the QName of the generated Schema type, null if void, if the Class type cannot be converted to a schema type then xsd:anytype is returned.
  Throws:
    `AxisFault`

### writeElementForPart

    public javax.xml.namespace.QName writeElementForPart(Class type,
                                                         javax.xml.namespace.QName qname)
                                                  throws AxisFault

  Write out an element referenced by a part element attribute.

  Parameters:
    `type` - `Class` to generate the XML Schema info for
    `qname` - `QName` of the element. If null, qname is defaulted from the class.
  Returns:
    the QName of the generated Schema type, null if no element
  Throws:
    `AxisFault`

### writeWrapperElement

    public Element writeWrapperElement(javax.xml.namespace.QName qname,
                                       boolean request,
                                       boolean hasParams)
                                throws AxisFault

  Write the element definition for a WRAPPED operation. This will write out any necessary namespace/schema declarations, an an element definition with an internal (anonymous) complexType. The name of the element will be *foo*Request or *foo*Response depending on whether the request boolean is true. If the operation contains parameters, then we also generate a >sequence< node underneath the complexType, and return it for later use by writeWrappedParameter() below.

  Parameters:
    `qname` - the desired element QName
    `request` - true if we're writing the request wrapper, false if writing the response.
    `hasParams` - true if there are parameters, and thus a sequence node is needed
  Returns:
    a DOM Element for the sequence, inside which we'll write the parameters as elements, or null if there are no parameters
  Throws:
    `AxisFault`

### writeWrappedParameter

    public void writeWrappedParameter(Element sequence,
                                      String name,
                                      javax.xml.namespace.QName type,
                                      Class javaType)
                               throws AxisFault

  Write a parameter (a sub-element) into a sequence generated by writeWrapperElement() above.

  Parameters:
    `sequence` - the <sequence> in which we're writing
    `name` - is the name of an element to add to the wrapper element.
    `type` - is the QName of the type of the element.
  Throws:
    `AxisFault`

### getTypeQName

    public javax.xml.namespace.QName getTypeQName(Class javaType)

  Return the QName of the specified javaType

  Parameters:
    `javaType` - input javaType Class
  Returns:
    QName

### getQNameString

    public String getQNameString(javax.xml.namespace.QName qname)

  Return a string suitable for representing a given QName in the context of this WSDL document. If the namespace of the QName is not yet registered, we will register it up in the Definitions.

  Parameters:
    `qname` - a QName (typically a type)
  Returns:
    a String containing a standard "ns:localPart" rep of the QName

### getPackageNameFromFullName

    public static String getPackageNameFromFullName(String full)

  Utility method to get the package name from a fully qualified java class name

  Parameters:
    `full` - input class name
  Returns:
    package name

### getLocalNameFromFullName

    public static String getLocalNameFromFullName(String full)

  Utility method to get the local class name from a fully qualified java class name

  Parameters:
    `full` - input class name
  Returns:
    package name

### writeSchemaElement

    public void writeSchemaElement(javax.xml.namespace.QName qName,
                                   Element element)
                            throws AxisFault

  Write out the given Element into the appropriate schema node. If need be create the schema node as well

  Parameters:
    `qName` - qName to get the namespace of the schema node
    `element` - the Element to append to the Schema node
  Throws:
    `AxisFault`

### writeType

    public String writeType(Class type)
                     throws AxisFault

  Write a schema representation for the given `Class`. Recurse through all the public fields as well as fields represented by java bean compliant accessor methods.

  Then return the qualified string representation of the generated type

  Parameters:
    `type` - Class for which to generate schema
  Returns:
    a prefixed string for the schema type
  Throws:
    `AxisFault`

### writeType

    public String writeType(Class type,
                            javax.xml.namespace.QName qName)
                     throws AxisFault

  Write a schema representation for the given `Class`. Recurse through all the public fields as well as fields represented by java bean compliant accessor methods.

  Then return the qualified string representation of the generated type

  Parameters:
    `type` - Class for which to generate schema
    `qName` - of the type to write
  Returns:
    a prefixed string for the schema type or null if problems occur
  Throws:
    `AxisFault`

### createArrayElement

    public Element createArrayElement(String componentTypeName)

### isEnumClass

    public static boolean isEnumClass(Class cls)

  Returns true if indicated type matches the JAX-RPC enumeration class. Note: supports JSR 101 version 0.6 Public Draft

### writeEnumType

    public Element writeEnumType(javax.xml.namespace.QName qName,
                                 Class cls)
                          throws NoSuchMethodException,
                                 IllegalAccessException,
                                 AxisFault

  Write Enumeration Complex Type (Only supports enumeration classes of string types)

  Parameters:
    `qName` - QName of type.
    `cls` - class of type
  Throws:
    `NoSuchMethodException`
    `IllegalAccessException`
    `AxisFault`

### createElementDecl

    public Element createElementDecl(String name,
                                     Class javaType,
                                     javax.xml.namespace.QName typeQName,
                                     boolean nillable,
                                     boolean omittable)
                              throws AxisFault

  Create Element

  Parameters:
    `nillable` - nillable attribute of the element
  Returns:
    the created Element
  Throws:
    `AxisFault`

### createElement

    public Element createElement(String elementName,
                                 String elementType,
                                 boolean nullable,
                                 boolean omittable,
                                 Document docHolder)

  Create Element with a given name and type

  Parameters:
    `elementName` - the name of the created element
    `elementType` - schema type representation of the element
    `nullable` - nullable attribute of the element
  Returns:
    the created Element

### createAttributeElement

    public Element createAttributeElement(String elementName,
                                          Class javaType,
                                          javax.xml.namespace.QName xmlType,
                                          boolean nullable,
                                          Document docHolder)
                                   throws AxisFault

  Create Attribute Element with a given name and type

  Parameters:
    `elementName` - the name of the created element
    `nullable` - nullable attribute of the element
  Returns:
    the created Element
  Throws:
    `AxisFault`

### isAcceptableAsAttribute

    public boolean isAcceptableAsAttribute(Class type)

  Is the given class acceptable as an attribute

  Parameters:
    `type` - input Class
  Returns:
    true if the type is a simple, enum type or extends SimpleType

### isNullable

    public boolean isNullable(Class type)

  Determines if the field is nullable. All non-primitives except for byte[] are nillable.

  Parameters:
    `type` - input Class
  Returns:
    true if nullable

### updateNamespaces

    public void updateNamespaces()

### insertTypesFragment

    public void insertTypesFragment(Document doc)

  Inserts the type fragment into the given wsdl document

  Parameters:
    `doc` -

### getStopClasses

    public List getStopClasses()

  Return the list of classes that we should not emit WSDL for.

### createElement

    public Element createElement(String elementName)

  Create a DOM Element in this context

### createElementWithAnonymousType

    public Element createElementWithAnonymousType(String elementName,
                                                  Class fieldType,
                                                  boolean omittable,
                                                  Document ownerDocument)
                                           throws AxisFault

  Write an <element> with an anonymous internal ComplexType

  Parameters:
    `elementName` -
    `fieldType` -
    `omittable` -
    `ownerDocument` -
  Throws:
    `AxisFault`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.