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

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

The newest version!
/**
 * TransactionState.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 java.util.HashMap;

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;

/**
 * Состояние заказа.
 */
public class TransactionState implements ADBBean {

	private static final long serialVersionUID = -7088893358630821398L;

	public static final QName MY_QNAME = new QName("http://engine.paymentgate.ru/webservices/merchant",
			"transactionState", "ns1");
	private static HashMap _table_ = new HashMap();
	public static final String _CREATED = ConverterUtil.convertToString("CREATED");
	public static final String _APPROVED = ConverterUtil.convertToString("APPROVED");
	public static final String _DECLINED = ConverterUtil.convertToString("DECLINED");
	public static final String _REVERSED = ConverterUtil.convertToString("REVERSED");
	public static final String _DEPOSITED = ConverterUtil.convertToString("DEPOSITED");
	public static final String _REFUNDED = ConverterUtil.convertToString("REFUNDED");
	public static final TransactionState CREATED = new TransactionState(_CREATED, true);
	public static final TransactionState APPROVED = new TransactionState(_APPROVED, true);
	public static final TransactionState DECLINED = new TransactionState(_DECLINED, true);
	public static final TransactionState REVERSED = new TransactionState(_REVERSED, true);
	public static final TransactionState DEPOSITED = new TransactionState(_DEPOSITED, true);
	public static final TransactionState REFUNDED = new TransactionState(_REFUNDED, true);

	/**
	 * field for TransactionState
	 */
	protected String localTransactionState;

	// Constructor
	protected TransactionState(String value, boolean isRegisterValue) {
		localTransactionState = value;

		if (isRegisterValue) {
			_table_.put(localTransactionState, this);
		}
	}

	public String getValue() {
		return localTransactionState;
	}

	@Override
	public boolean equals(Object obj) {
		return (obj == this);
	}

	@Override
	public int hashCode() {
		return toString().hashCode();
	}

	@Override
	public String toString() {
		return localTransactionState;
	}

	/**
	 *
	 * @param parentQName
	 * @param factory
	 * @return OMElement
	 */
	@Override
	public OMElement getOMElement(final QName parentQName, final OMFactory factory) throws ADBException {
		return factory.createOMElement(new ADBDataSource(this, MY_QNAME));
	}

	@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 {
		// We can safely assume an element has only one type associated with it
		String namespace = parentQName.getNamespaceURI();
		String _localName = parentQName.getLocalPart();

		writeStartElement(null, namespace, _localName, xmlWriter);

		// add the type details if this is used in a simple type
		if (serializeType) {
			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 + ":transactionState", xmlWriter);
			} else {
				writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type", "transactionState",
						xmlWriter);
			}
		}

		if (localTransactionState == null) {
			throw new ADBException("transactionState cannot be null !!");
		} else {
			xmlWriter.writeCharacters(localTransactionState);
		}

		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);
		}
	}

	/**
	 * 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 {
		public static TransactionState fromValue(String value) throws IllegalArgumentException {
			TransactionState enumeration = (TransactionState) _table_.get(value);

			// handle unexpected enumeration values properly
			if (enumeration == null) {
				throw new IllegalArgumentException();
			}

			return enumeration;
		}

		public static TransactionState fromString(String value, String namespaceURI) throws IllegalArgumentException {
			try {
				return fromValue(ConverterUtil.convertToString(value));
			} catch (Exception e) {
				throw new IllegalArgumentException();
			}
		}

		public static TransactionState fromString(XMLStreamReader xmlStreamReader, String content) {
			if (content.indexOf(":") > -1) {
				String prefix = content.substring(0, content.indexOf(":"));
				String namespaceUri = xmlStreamReader.getNamespaceContext().getNamespaceURI(prefix);

				return TransactionState.Factory.fromString(content, namespaceUri);
			} else {
				return TransactionState.Factory.fromString(content, "");
			}
		}

		/**
		 * 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 TransactionState parse(XMLStreamReader reader) throws Exception {
			TransactionState object = null;

			String nillableValue = null;
			String prefix = "";
			String namespaceuri = "";

			try {
				while (!reader.isStartElement() && !reader.isEndElement())
					reader.next();

				while (!reader.isEndElement()) {
					if (reader.isStartElement() || reader.hasText()) {
						nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil");

						if ("true".equals(nillableValue) || "1".equals(nillableValue)) {
							throw new ADBException("The element: " + "transactionState" + "  cannot be null");
						}

						String content = reader.getElementText();

						if (content.indexOf(":") > 0) {
							// this seems to be a Qname so find the namespace
							// and send
							prefix = content.substring(0, content.indexOf(":"));
							namespaceuri = reader.getNamespaceURI(prefix);
							object = TransactionState.Factory.fromString(content, namespaceuri);
						} else {
							// this seems to be not a qname send and empty
							// namespace incase of it is
							// check is done in fromString method
							object = TransactionState.Factory.fromString(content, "");
						}
					} else {
						reader.next();
					}
				} // end of while loop
			} catch (XMLStreamException e) {
				throw new Exception(e);
			}

			return object;
		}
	} // end of factory class

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy