| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| /** |
| * Struct.java |
| * |
| * This file was auto-generated from WSDL |
| * by the Apache Axis2 version: SNAPSHOT Built on : Dec 21, 2007 (04:03:30 LKT) |
| */ |
| |
| package org.apache.axis2.databinding.types.soapencoding; |
| |
| |
| /** |
| * Struct bean class |
| */ |
| |
| public class Struct |
| implements org.apache.axis2.databinding.ADBBean{ |
| /* This type was generated from the piece of schema that had |
| name = Struct |
| Namespace URI = http://schemas.xmlsoap.org/soap/encoding/ |
| Namespace Prefix = ns1 |
| */ |
| |
| |
| private static java.lang.String generatePrefix(java.lang.String namespace) { |
| if(namespace.equals("http://schemas.xmlsoap.org/soap/encoding/")){ |
| return "SOAP-ENC"; |
| } |
| return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix(); |
| } |
| |
| |
| |
| /** |
| * field for ExtraElement |
| * This was an Array! |
| */ |
| |
| |
| protected org.apache.axiom.om.OMElement[] localExtraElement ; |
| |
| /* This tracker boolean wil be used to detect whether the user called the set method |
| * for this attribute. It will be used to determine whether to include this field |
| * in the serialized XML |
| */ |
| protected boolean localExtraElementTracker = false ; |
| |
| |
| /** |
| * Auto generated getter method |
| * @return org.apache.axiom.om.OMElement[] |
| */ |
| public org.apache.axiom.om.OMElement[] getExtraElement(){ |
| return localExtraElement; |
| } |
| |
| |
| |
| |
| |
| |
| /** |
| * validate the array for ExtraElement |
| */ |
| protected void validateExtraElement(org.apache.axiom.om.OMElement[] param){ |
| |
| } |
| |
| |
| /** |
| * Auto generated setter method |
| * @param param ExtraElement |
| */ |
| public void setExtraElement(org.apache.axiom.om.OMElement[] param){ |
| |
| validateExtraElement(param); |
| |
| |
| if (param != null){ |
| //update the setting tracker |
| localExtraElementTracker = true; |
| } else { |
| localExtraElementTracker = false; |
| |
| } |
| |
| this.localExtraElement=param; |
| } |
| |
| |
| |
| /** |
| * Auto generated add method for the array for convenience |
| * @param param org.apache.axiom.om.OMElement |
| */ |
| public void addExtraElement(org.apache.axiom.om.OMElement param){ |
| if (localExtraElement == null){ |
| localExtraElement = new org.apache.axiom.om.OMElement[]{}; |
| } |
| |
| |
| //update the setting tracker |
| localExtraElementTracker = true; |
| |
| |
| java.util.List list = |
| org.apache.axis2.databinding.utils.ConverterUtil.toList(localExtraElement); |
| list.add(param); |
| this.localExtraElement = |
| (org.apache.axiom.om.OMElement[])list.toArray( |
| new org.apache.axiom.om.OMElement[list.size()]); |
| |
| } |
| |
| |
| /** |
| * field for Id |
| * This was an Attribute! |
| */ |
| |
| |
| protected org.apache.axis2.databinding.types.Id localId ; |
| |
| |
| /** |
| * Auto generated getter method |
| * @return org.apache.axis2.databinding.types.Id |
| */ |
| public org.apache.axis2.databinding.types.Id getId(){ |
| return localId; |
| } |
| |
| |
| |
| /** |
| * Auto generated setter method |
| * @param param Id |
| */ |
| public void setId(org.apache.axis2.databinding.types.Id param){ |
| |
| this.localId=param; |
| |
| |
| } |
| |
| |
| /** |
| * field for Href |
| * This was an Attribute! |
| */ |
| |
| |
| protected org.apache.axis2.databinding.types.URI localHref ; |
| |
| |
| /** |
| * Auto generated getter method |
| * @return org.apache.axis2.databinding.types.URI |
| */ |
| public org.apache.axis2.databinding.types.URI getHref(){ |
| return localHref; |
| } |
| |
| |
| |
| /** |
| * Auto generated setter method |
| * @param param Href |
| */ |
| public void setHref(org.apache.axis2.databinding.types.URI param){ |
| |
| this.localHref=param; |
| |
| |
| } |
| |
| |
| /** |
| * isReaderMTOMAware |
| * @return true if the reader supports MTOM |
| */ |
| public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) { |
| boolean isReaderMTOMAware = false; |
| |
| try{ |
| isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE)); |
| }catch(java.lang.IllegalArgumentException e){ |
| isReaderMTOMAware = false; |
| } |
| return isReaderMTOMAware; |
| } |
| |
| |
| /** |
| * |
| * @param parentQName |
| * @param factory |
| * @return org.apache.axiom.om.OMElement |
| */ |
| public org.apache.axiom.om.OMElement getOMElement ( |
| final javax.xml.namespace.QName parentQName, |
| final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{ |
| |
| |
| |
| org.apache.axiom.om.OMDataSource dataSource = |
| new org.apache.axis2.databinding.ADBDataSource(this,parentQName){ |
| |
| public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException { |
| Struct.this.serialize(parentQName,factory,xmlWriter); |
| } |
| }; |
| return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl( |
| parentQName,factory,dataSource); |
| |
| } |
| |
| public void serialize(final javax.xml.namespace.QName parentQName, |
| final org.apache.axiom.om.OMFactory factory, |
| org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) |
| throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{ |
| serialize(parentQName,factory,xmlWriter,false); |
| } |
| |
| public void serialize(final javax.xml.namespace.QName parentQName, |
| final org.apache.axiom.om.OMFactory factory, |
| org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter, |
| boolean serializeType) |
| throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{ |
| |
| |
| |
| |
| java.lang.String prefix = null; |
| java.lang.String namespace = null; |
| |
| |
| prefix = parentQName.getPrefix(); |
| namespace = parentQName.getNamespaceURI(); |
| |
| if ((namespace != null) && (namespace.trim().length() > 0)) { |
| java.lang.String writerPrefix = xmlWriter.getPrefix(namespace); |
| if (writerPrefix != null) { |
| xmlWriter.writeStartElement(namespace, parentQName.getLocalPart()); |
| } else { |
| if (prefix == null) { |
| prefix = generatePrefix(namespace); |
| } |
| |
| xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace); |
| xmlWriter.writeNamespace(prefix, namespace); |
| xmlWriter.setPrefix(prefix, namespace); |
| } |
| } else { |
| xmlWriter.writeStartElement(parentQName.getLocalPart()); |
| } |
| |
| if (serializeType){ |
| |
| java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://schemas.xmlsoap.org/soap/encoding/"); |
| if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){ |
| writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type", |
| namespacePrefix+":Struct", |
| xmlWriter); |
| } else { |
| writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type", |
| "Struct", |
| xmlWriter); |
| } |
| |
| |
| } |
| |
| if (localId != null){ |
| |
| writeAttribute("", |
| "id", |
| org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localId), xmlWriter); |
| |
| |
| } |
| |
| if (localHref != null){ |
| |
| writeAttribute("", |
| "href", |
| org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localHref), xmlWriter); |
| |
| |
| } |
| if (localExtraElementTracker){ |
| |
| if (localExtraElement != null){ |
| for (int i = 0;i < localExtraElement.length;i++){ |
| if (localExtraElement[i] != null){ |
| localExtraElement[i].serialize(xmlWriter); |
| } else { |
| |
| // we have to do nothing since minOccures zero |
| |
| } |
| } |
| } else { |
| throw new org.apache.axis2.databinding.ADBException("extraElement cannot be null!!"); |
| } |
| } |
| xmlWriter.writeEndElement(); |
| |
| |
| } |
| |
| /** |
| * Util method to write an attribute with the ns prefix |
| */ |
| private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName, |
| java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{ |
| if (xmlWriter.getPrefix(namespace) == null) { |
| xmlWriter.writeNamespace(prefix, namespace); |
| xmlWriter.setPrefix(prefix, namespace); |
| |
| } |
| |
| xmlWriter.writeAttribute(namespace,attName,attValue); |
| |
| } |
| |
| /** |
| * Util method to write an attribute without the ns prefix |
| */ |
| private void writeAttribute(java.lang.String namespace,java.lang.String attName, |
| java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{ |
| if (namespace.equals("")) |
| { |
| xmlWriter.writeAttribute(attName,attValue); |
| } |
| else |
| { |
| registerPrefix(xmlWriter, namespace); |
| xmlWriter.writeAttribute(namespace,attName,attValue); |
| } |
| } |
| |
| |
| /** |
| * Util method to write an attribute without the ns prefix |
| */ |
| private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName, |
| javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException { |
| |
| java.lang.String attributeNamespace = qname.getNamespaceURI(); |
| java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace); |
| if (attributePrefix == null) { |
| attributePrefix = registerPrefix(xmlWriter, attributeNamespace); |
| } |
| java.lang.String attributeValue; |
| if (attributePrefix.trim().length() > 0) { |
| attributeValue = attributePrefix + ":" + qname.getLocalPart(); |
| } else { |
| attributeValue = qname.getLocalPart(); |
| } |
| |
| if (namespace.equals("")) { |
| xmlWriter.writeAttribute(attName, attributeValue); |
| } else { |
| registerPrefix(xmlWriter, namespace); |
| xmlWriter.writeAttribute(namespace, attName, attributeValue); |
| } |
| } |
| /** |
| * method to handle Qnames |
| */ |
| |
| private void writeQName(javax.xml.namespace.QName qname, |
| javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException { |
| java.lang.String namespaceURI = qname.getNamespaceURI(); |
| if (namespaceURI != null) { |
| java.lang.String prefix = xmlWriter.getPrefix(namespaceURI); |
| if (prefix == null) { |
| prefix = generatePrefix(namespaceURI); |
| xmlWriter.writeNamespace(prefix, namespaceURI); |
| xmlWriter.setPrefix(prefix,namespaceURI); |
| } |
| |
| if (prefix.trim().length() > 0){ |
| xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname)); |
| } else { |
| // i.e this is the default namespace |
| xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname)); |
| } |
| |
| } else { |
| xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname)); |
| } |
| } |
| |
| private void writeQNames(javax.xml.namespace.QName[] qnames, |
| javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException { |
| |
| if (qnames != null) { |
| // we have to store this data until last moment since it is not possible to write any |
| // namespace data after writing the charactor data |
| java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer(); |
| java.lang.String namespaceURI = null; |
| java.lang.String prefix = null; |
| |
| for (int i = 0; i < qnames.length; i++) { |
| if (i > 0) { |
| stringToWrite.append(" "); |
| } |
| namespaceURI = qnames[i].getNamespaceURI(); |
| if (namespaceURI != null) { |
| prefix = xmlWriter.getPrefix(namespaceURI); |
| if ((prefix == null) || (prefix.length() == 0)) { |
| prefix = generatePrefix(namespaceURI); |
| xmlWriter.writeNamespace(prefix, namespaceURI); |
| xmlWriter.setPrefix(prefix,namespaceURI); |
| } |
| |
| if (prefix.trim().length() > 0){ |
| stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i])); |
| } else { |
| stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i])); |
| } |
| } else { |
| stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i])); |
| } |
| } |
| xmlWriter.writeCharacters(stringToWrite.toString()); |
| } |
| |
| } |
| |
| |
| /** |
| * Register a namespace prefix |
| */ |
| private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException { |
| java.lang.String prefix = xmlWriter.getPrefix(namespace); |
| |
| if (prefix == null) { |
| prefix = generatePrefix(namespace); |
| |
| while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) { |
| prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix(); |
| } |
| |
| xmlWriter.writeNamespace(prefix, namespace); |
| xmlWriter.setPrefix(prefix, namespace); |
| } |
| |
| return prefix; |
| } |
| |
| |
| |
| /** |
| * databinding method to get an XML representation of this object |
| * |
| */ |
| public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName) |
| throws org.apache.axis2.databinding.ADBException{ |
| |
| |
| |
| java.util.ArrayList elementList = new java.util.ArrayList(); |
| java.util.ArrayList attribList = new java.util.ArrayList(); |
| |
| if (localExtraElementTracker){ |
| if (localExtraElement != null) { |
| for (int i = 0;i < localExtraElement.length;i++){ |
| if (localExtraElement[i] != null){ |
| elementList.add(new javax.xml.namespace.QName("", |
| "extraElement")); |
| elementList.add( |
| org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localExtraElement[i])); |
| } else { |
| |
| // have to do nothing |
| |
| } |
| |
| } |
| } else { |
| throw new org.apache.axis2.databinding.ADBException("extraElement cannot be null!!"); |
| } |
| } |
| attribList.add( |
| new javax.xml.namespace.QName("","id")); |
| |
| attribList.add(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localId)); |
| |
| attribList.add( |
| new javax.xml.namespace.QName("","href")); |
| |
| attribList.add(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localHref)); |
| |
| |
| return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray()); |
| |
| |
| |
| } |
| |
| |
| |
| /** |
| * Factory class that keeps the parse method |
| */ |
| public static class Factory{ |
| |
| |
| |
| |
| /** |
| * static method to create the object |
| * Precondition: If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable |
| * If this object is not an element, it is a complex type and the reader is at the event just after the outer start element |
| * Postcondition: If this object is an element, the reader is positioned at its end element |
| * If this object is a complex type, the reader is positioned at the end element of its outer element |
| */ |
| public static Struct parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{ |
| Struct object = |
| new Struct(); |
| |
| int event; |
| java.lang.String nillableValue = null; |
| java.lang.String prefix =""; |
| java.lang.String namespaceuri =""; |
| try { |
| |
| while (!reader.isStartElement() && !reader.isEndElement()) |
| reader.next(); |
| |
| |
| if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){ |
| java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", |
| "type"); |
| if (fullTypeName!=null){ |
| java.lang.String nsPrefix = null; |
| if (fullTypeName.indexOf(":") > -1){ |
| nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":")); |
| } |
| nsPrefix = nsPrefix==null?"":nsPrefix; |
| |
| java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1); |
| |
| if (!"Struct".equals(type)){ |
| //find namespace for the prefix |
| java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix); |
| return (Struct)org.apache.axis2.databinding.types.soapencoding.ExtensionMapper.getTypeObject( |
| nsUri,type,reader); |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| |
| |
| // Note all attributes that were handled. Used to differ normal attributes |
| // from anyAttributes. |
| java.util.Vector handledAttributes = new java.util.Vector(); |
| |
| |
| |
| // handle attribute "id" |
| java.lang.String tempAttribId = |
| |
| reader.getAttributeValue(null,"id"); |
| |
| if (tempAttribId!=null){ |
| java.lang.String content = tempAttribId; |
| |
| object.setId( |
| org.apache.axis2.databinding.utils.ConverterUtil.convertToID(tempAttribId)); |
| |
| } else { |
| |
| } |
| handledAttributes.add("id"); |
| |
| // handle attribute "href" |
| java.lang.String tempAttribHref = |
| |
| reader.getAttributeValue(null,"href"); |
| |
| if (tempAttribHref!=null){ |
| java.lang.String content = tempAttribHref; |
| |
| object.setHref( |
| org.apache.axis2.databinding.utils.ConverterUtil.convertToAnyURI(tempAttribHref)); |
| |
| } else { |
| |
| } |
| handledAttributes.add("href"); |
| |
| |
| reader.next(); |
| |
| java.util.ArrayList list1 = new java.util.ArrayList(); |
| |
| |
| while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); |
| |
| if (reader.isStartElement()){ |
| |
| |
| |
| // Process the array and step past its final element's end. |
| |
| boolean loopDone1=false; |
| |
| while (!loopDone1){ |
| event = reader.getEventType(); |
| if (javax.xml.stream.XMLStreamConstants.START_ELEMENT == event){ |
| |
| // We need to wrap the reader so that it produces a fake START_DOCUEMENT event |
| org.apache.axis2.databinding.utils.NamedStaxOMBuilder builder1 |
| = new org.apache.axis2.databinding.utils.NamedStaxOMBuilder( |
| new org.apache.axis2.util.StreamWrapper(reader), reader.getName()); |
| |
| list1.add(builder1.getOMElement()); |
| reader.next(); |
| if (reader.isEndElement()) { |
| // we have two countinuos end elements |
| loopDone1 = true; |
| } |
| |
| }else if (javax.xml.stream.XMLStreamConstants.END_ELEMENT == event){ |
| loopDone1 = true; |
| }else{ |
| reader.next(); |
| } |
| |
| } |
| |
| |
| object.setExtraElement((org.apache.axiom.om.OMElement[]) |
| org.apache.axis2.databinding.utils.ConverterUtil.convertToArray( |
| org.apache.axiom.om.OMElement.class,list1)); |
| |
| } // End of if for expected property start element |
| |
| else { |
| |
| } |
| |
| while (!reader.isStartElement() && !reader.isEndElement()) |
| reader.next(); |
| |
| if (reader.isStartElement()) |
| // A start element we are not expecting indicates a trailing invalid property |
| throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName()); |
| |
| |
| |
| |
| } catch (javax.xml.stream.XMLStreamException e) { |
| throw new java.lang.Exception(e); |
| } |
| |
| return object; |
| } |
| |
| }//end of factory class |
| |
| |
| |
| } |
| |
| |