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 typesModifier and Type | Field and Description |
---|---|
protected static org.apache.commons.logging.Log |
log
Field log
|
Constructor and Description |
---|
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. |
Types(javax.wsdl.Definition def,
TypeMapping tm,
TypeMapping defaultTM,
Namespaces namespaces,
String targetNamespace,
List stopClasses,
ServiceDesc serviceDesc,
Emitter emitter)
This class serailizes a
Class to XML Schema. |
Modifier and Type | Method and Description |
---|---|
Element |
createArrayElement(String componentTypeName)
Method createArrayElement
|
Element |
createAttributeElement(String elementName,
Class javaType,
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 |
createElementWithAnonymousType(String elementName,
Class fieldType,
boolean omittable,
Document ownerDocument)
Write an <element> with an anonymous internal ComplexType
|
Element |
createLiteralArrayElement(String componentType,
QName itemName)
Create an array which is a wrapper type for "item" elements
of a component type.
|
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(QName qname)
Return a string suitable for representing a given QName in the context
of this WSDL document.
|
ServiceDesc |
getServiceDesc()
return the service description
|
List |
getStopClasses()
Return the list of classes that we should not emit WSDL for.
|
QName |
getTypeQName(Class javaType)
Return the QName of the specified javaType
|
void |
insertTypesFragment(Document doc)
Inserts the type fragment into the given wsdl document and ensures
that definitions from each embedded schema are allowed to reference
schema components from the other sibling schemas.
|
boolean |
isAcceptableAsAttribute(Class type)
Is the given class acceptable as an attribute
|
static boolean |
isArray(Class clazz) |
protected boolean |
isBeanCompatible(Class javaType,
boolean issueErrors)
isBeanCompatible
|
static boolean |
isEnumClass(Class cls)
Returns true if indicated type matches the JAX-RPC enumeration class.
|
static 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()
Method updateNamespaces
|
void |
writeElementDecl(QName qname,
Class javaType,
QName typeQName,
boolean nillable,
QName itemQName)
Create a top-level element declaration in our generated schema
|
QName |
writeElementForPart(Class type,
QName qname)
Write out an element referenced by a part element attribute.
|
Element |
writeEnumType(QName qName,
Class cls)
Write Enumeration Complex Type
(Only supports enumeration classes of string types)
|
void |
writeSchemaElement(QName qName,
Element element)
Deprecated.
Please use writeSchemaElement(String namespaceURI, Element element)
|
void |
writeSchemaElement(String namespaceURI,
Element element)
Write out the given Element into the appropriate schema node.
|
void |
writeSchemaElementDecl(QName qname,
Element element)
Method writeSchemaElementDecl
|
void |
writeSchemaTypeDecl(QName qname,
Element element)
Method writeSchemaTypeDecl
|
String |
writeType(Class type)
Write a schema representation for the given
Class . |
String |
writeType(Class type,
QName qName)
Write a schema representation for the given
Class . |
QName |
writeTypeAndSubTypeForPart(Class type,
QName qname)
Write out a type (and its subtypes) referenced by a part type attribute.
|
QName |
writeTypeForPart(Class type,
QName qname)
Write out a type referenced by a part type attribute.
|
void |
writeWrappedParameter(Element sequence,
String name,
QName type,
Class javaType)
Write a parameter (a sub-element) into a sequence generated by
writeWrapperElement() above.
|
Element |
writeWrapperElement(QName qname,
boolean request,
boolean hasParams)
Write the element definition for a WRAPPED operation.
|
public Types(javax.wsdl.Definition def, TypeMapping tm, TypeMapping defaultTM, Namespaces namespaces, String targetNamespace, List stopClasses, ServiceDesc serviceDesc)
Class
to XML Schema. The constructor
provides the context for the streamed node within the WSDL documentdef
- WSDL Definition Element to declare namespacestm
- TypeMappingRegistry to handle known typesdefaultTM
- default TMnamespaces
- user defined or autogenerated namespace and prefix mapstargetNamespace
- targetNamespace of the documentstopClasses
- serviceDesc
- public Types(javax.wsdl.Definition def, TypeMapping tm, TypeMapping defaultTM, Namespaces namespaces, String targetNamespace, List stopClasses, ServiceDesc serviceDesc, Emitter emitter)
Class
to XML Schema. The constructor
provides the context for the streamed node within the WSDL documentdef
- WSDL Definition Element to declare namespacestm
- TypeMappingRegistry to handle known typesdefaultTM
- default TMnamespaces
- user defined or autogenerated namespace and prefix mapstargetNamespace
- targetNamespace of the documentstopClasses
- serviceDesc
- emitter
- Java2Wsdl emitterpublic static boolean isArray(Class clazz)
public Namespaces getNamespaces()
public void loadInputSchema(String inputSchema) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
inputSchema
- file or URLIOException
javax.wsdl.WSDLException
SAXException
ParserConfigurationException
public void loadInputTypes(String inputWSDL) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
inputWSDL
- file or URLIOException
javax.wsdl.WSDLException
SAXException
ParserConfigurationException
public QName writeTypeForPart(Class type, QName qname) throws AxisFault
type
- Class
to generate the XML Schema info forqname
- QName
of the type. If null, qname is
defaulted from the class.AxisFault
public QName writeTypeAndSubTypeForPart(Class type, QName qname) throws AxisFault
type
- Class
to generate the XML Schema info forqname
- QName
of the type. If null, qname is
defaulted from the class.AxisFault
public QName writeElementForPart(Class type, QName qname) throws AxisFault
type
- Class
to generate the XML Schema info forqname
- QName
of the element. If null, qname is
defaulted from the class.AxisFault
public Element writeWrapperElement(QName qname, boolean request, boolean hasParams) throws AxisFault
qname
- the desired element QNamerequest
- 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 neededAxisFault
public void writeWrappedParameter(Element sequence, String name, QName type, Class javaType) throws AxisFault
sequence
- the <sequence> in which we're writingname
- is the name of an element to add to the wrapper element.type
- is the QName of the type of the element.javaType
- AxisFault
public QName getTypeQName(Class javaType)
javaType
- input javaType Classpublic String getQNameString(QName qname)
qname
- a QName (typically a type)public static String getPackageNameFromFullName(String full)
full
- input class namepublic static String getLocalNameFromFullName(String full)
full
- input class namepublic void writeSchemaTypeDecl(QName qname, Element element) throws AxisFault
qname
- element
- AxisFault
public void writeSchemaElementDecl(QName qname, Element element) throws AxisFault
qname
- element
- AxisFault
public void writeSchemaElement(QName qName, Element element) throws AxisFault
qName
- qName to get the namespace of the schema nodeelement
- the Element to append to the Schema nodeAxisFault
public void writeSchemaElement(String namespaceURI, Element element) throws AxisFault
namespaceURI
- namespace this node should get dropped intoelement
- the Element to append to the Schema nodeAxisFault
public String writeType(Class type) throws AxisFault
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 typetype
- Class for which to generate schemaAxisFault
public String writeType(Class type, QName qName) throws AxisFault
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 typetype
- Class for which to generate schemaqName
- of the type to writeAxisFault
public Element createArrayElement(String componentTypeName)
componentTypeName
- public Element createLiteralArrayElement(String componentType, QName itemName)
componentType
- itemName
- the QName of the inner element (right now we only use the localPart)public static boolean isEnumClass(Class cls)
cls
- public Element writeEnumType(QName qName, Class cls) throws NoSuchMethodException, IllegalAccessException, AxisFault
qName
- QName of type.cls
- class of typeNoSuchMethodException
IllegalAccessException
AxisFault
public void writeElementDecl(QName qname, Class javaType, QName typeQName, boolean nillable, QName itemQName) throws AxisFault
qname
- javaType
- typeQName
- nillable
- nillable attribute of the elementitemQName
- AxisFault
public Element createElement(String elementName, String elementType, boolean nullable, boolean omittable, Document docHolder)
elementName
- the name of the created elementelementType
- schema type representation of the elementnullable
- nullable attribute of the elementomittable
- docHolder
- public Element createAttributeElement(String elementName, Class javaType, QName xmlType, boolean nullable, Document docHolder) throws AxisFault
elementName
- the name of the created elementjavaType
- xmlType
- nullable
- nullable attribute of the elementdocHolder
- AxisFault
public boolean isAcceptableAsAttribute(Class type)
type
- input Classpublic static boolean isNullable(Class type)
type
- input Classpublic void updateNamespaces()
public void insertTypesFragment(Document doc)
doc
- public List getStopClasses()
public Element createElement(String elementName)
elementName
- protected boolean isBeanCompatible(Class javaType, boolean issueErrors)
javaType
- ClassissueErrors
- if true, issue messages if not compatible
Returns true if it appears that this class is a bean and
can be mapped to a complexTypepublic Element createElementWithAnonymousType(String elementName, Class fieldType, boolean omittable, Document ownerDocument) throws AxisFault
elementName
- fieldType
- omittable
- ownerDocument
- AxisFault
public ServiceDesc getServiceDesc()
Copyright © The Apache Software Foundation. All Rights Reserved.