All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtendedRequest Maven / Gradle / Ivy

The newest version!
/**
 * GetOrderStatusExtendedRequest.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis2 version: 1.7.5  Built on : May 06, 2017 (03:45:50 BST)
 */
package ru.paymentgate.engine.webservices.merchant;

import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;

import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axis2.databinding.ADBBean;
import org.apache.axis2.databinding.ADBDataSource;
import org.apache.axis2.databinding.ADBException;
import org.apache.axis2.databinding.utils.BeanUtil;
import org.apache.axis2.databinding.utils.ConverterUtil;

import ru.abyss.acquiring.soap.MerchantService;

/**
 * Параметры запроса состояния зарегистрированного заказа
 * 
 * @see {@link MerchantService#getOrderStatusExtended(GetOrderStatusExtended)}
 */
public class GetOrderStatusExtendedRequest extends OrderStatusRequest implements ADBBean {

	private static final long serialVersionUID = 3291061550239650840L;

	/**
	 * Номер (идентификатор) заказа в системе магазина.
Максимальная длина - 32 символа.
* В запросе необходимо передать или параметр orderId, или orderNumber. * Если в запросе передаются оба параметра, то приоритет orderId выше. */ protected String localMerchantOrderNumber; /* * 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 localMerchantOrderNumberTracker = false; public boolean isMerchantOrderNumberSpecified() { return localMerchantOrderNumberTracker; } /** * @return Номер (идентификатор) заказа в системе магазина.
Максимальная длина - 32 символа.
* В запросе необходимо передать или параметр orderId, или orderNumber. * Если в запросе передаются оба параметра, то приоритет orderId выше. */ public String getMerchantOrderNumber() { return localMerchantOrderNumber; } /** * @param param - * Номер (идентификатор) заказа в системе магазина.
Максимальная длина - 32 символа.
* В запросе необходимо передать или параметр orderId, или orderNumber. * Если в запросе передаются оба параметра, то приоритет orderId выше. */ public void setMerchantOrderNumber(String param) { localMerchantOrderNumberTracker = param != null; this.localMerchantOrderNumber = param; } /** * * @param parentQName * @param factory * @return OMElement */ @Override public OMElement getOMElement(final QName parentQName, final OMFactory factory) throws ADBException { return factory.createOMElement(new ADBDataSource(this, parentQName)); } @Override public void serialize(final QName parentQName, XMLStreamWriter xmlWriter) throws XMLStreamException, ADBException { serialize(parentQName, xmlWriter, false); } @Override public void serialize(final QName parentQName, XMLStreamWriter xmlWriter, boolean serializeType) throws XMLStreamException, ADBException { String prefix = null; String namespace = null; prefix = parentQName.getPrefix(); namespace = parentQName.getNamespaceURI(); writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter); String namespacePrefix = registerPrefix(xmlWriter, "http://engine.paymentgate.ru/webservices/merchant"); if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)) { writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type", namespacePrefix + ":getOrderStatusExtendedRequest", xmlWriter); } else { writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type", "getOrderStatusExtendedRequest", xmlWriter); } if (localOrderId != null) { writeAttribute("", "orderId", ConverterUtil.convertToString(localOrderId), xmlWriter); } if (localLanguage != null) { writeAttribute("", "language", ConverterUtil.convertToString(localLanguage), xmlWriter); } if (localMerchantOrderNumberTracker) { namespace = ""; writeStartElement(null, namespace, "merchantOrderNumber", xmlWriter); if (localMerchantOrderNumber == null) { // write the nil attribute throw new ADBException("merchantOrderNumber cannot be null!!"); } else { xmlWriter.writeCharacters(localMerchantOrderNumber); } xmlWriter.writeEndElement(); } xmlWriter.writeEndElement(); } private static String generatePrefix(String namespace) { if (namespace.equals("http://engine.paymentgate.ru/webservices/merchant")) { return "ns1"; } return BeanUtil.getUniquePrefix(); } /** * Utility method to write an element start tag. */ private void writeStartElement(String prefix, String namespace, String localPart, XMLStreamWriter xmlWriter) throws XMLStreamException { String writerPrefix = xmlWriter.getPrefix(namespace); if (writerPrefix != null) { xmlWriter.writeStartElement(writerPrefix, localPart, namespace); } else { if (namespace.length() == 0) { prefix = ""; } else if (prefix == null) { prefix = generatePrefix(namespace); } xmlWriter.writeStartElement(prefix, localPart, namespace); xmlWriter.writeNamespace(prefix, namespace); xmlWriter.setPrefix(prefix, namespace); } } /** * Util method to write an attribute with the ns prefix */ private void writeAttribute(String prefix, String namespace, String attName, String attValue, XMLStreamWriter xmlWriter) throws XMLStreamException { String writerPrefix = xmlWriter.getPrefix(namespace); if (writerPrefix != null) { xmlWriter.writeAttribute(writerPrefix, namespace, attName, attValue); } else { xmlWriter.writeNamespace(prefix, namespace); xmlWriter.setPrefix(prefix, namespace); xmlWriter.writeAttribute(prefix, namespace, attName, attValue); } } /** * Util method to write an attribute without the ns prefix */ private void writeAttribute(String namespace, String attName, String attValue, XMLStreamWriter xmlWriter) throws XMLStreamException { if (namespace.equals("")) { xmlWriter.writeAttribute(attName, attValue); } else { xmlWriter.writeAttribute(registerPrefix(xmlWriter, namespace), namespace, attName, attValue); } } /** * Register a namespace prefix */ private String registerPrefix(XMLStreamWriter xmlWriter, String namespace) throws XMLStreamException { String prefix = xmlWriter.getPrefix(namespace); if (prefix == null) { prefix = generatePrefix(namespace); NamespaceContext nsContext = xmlWriter.getNamespaceContext(); while (true) { String uri = nsContext.getNamespaceURI(prefix); if ((uri == null) || (uri.length() == 0)) { break; } prefix = BeanUtil.getUniquePrefix(); } xmlWriter.writeNamespace(prefix, namespace); xmlWriter.setPrefix(prefix, namespace); } return prefix; } /** * 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 GetOrderStatusExtendedRequest parse(XMLStreamReader reader) throws Exception { GetOrderStatusExtendedRequest object = new GetOrderStatusExtendedRequest(); String nillableValue = null; try { while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) { String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type"); if (fullTypeName != null) { String nsPrefix = null; if (fullTypeName.indexOf(":") > -1) { nsPrefix = fullTypeName.substring(0, fullTypeName.indexOf(":")); } nsPrefix = (nsPrefix == null) ? "" : nsPrefix; String type = fullTypeName.substring(fullTypeName.indexOf(":") + 1); if (!"getOrderStatusExtendedRequest".equals(type)) { // find namespace for the prefix String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix); return (GetOrderStatusExtendedRequest) ExtensionMapper.getTypeObject(nsUri, type, reader); } } } // handle attribute "orderId" String tempAttribOrderId = reader.getAttributeValue(null, "orderId"); if (tempAttribOrderId != null) { object.setOrderId(ConverterUtil.convertToString(tempAttribOrderId)); } // handle attribute "language" String tempAttribLanguage = reader.getAttributeValue(null, "language"); if (tempAttribLanguage != null) { object.setLanguage(ConverterUtil.convertToString(tempAttribLanguage)); } reader.next(); while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if ((reader.isStartElement() && new QName("", "merchantOrderNumber").equals(reader.getName())) || new QName("", "merchantOrderNumber").equals(reader.getName())) { nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); if ("true".equals(nillableValue) || "1".equals(nillableValue)) { throw new ADBException("The element: " + "merchantOrderNumber" + " cannot be null"); } String content = reader.getElementText(); object.setMerchantOrderNumber(ConverterUtil.convertToString(content)); reader.next(); } // End of if for expected property start element while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isStartElement()) { // 2 - A start element we are not expecting indicates a // trailing invalid property throw new ADBException("Unexpected subelement " + reader.getName()); } } catch (XMLStreamException e) { throw new Exception(e); } return object; } } // end of factory class }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy