/**
 * ProductOrderChangeType.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.style24.core.biz.checkout.base;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

@JsonSerialize
@JsonIgnoreProperties(ignoreUnknown = true)
public class ProductOrderChangeType implements java.io.Serializable {
    private String _value_;
    private static java.util.HashMap _table_ = new java.util.HashMap();

    protected ProductOrderChangeType(String value) {
        _value_ = value;
        _table_.put(_value_,this);
    }

    public static final String _PAY_WAITING = "PAY_WAITING";
    public static final String _PAYED = "PAYED";
    public static final String _DISPATCHED = "DISPATCHED";
    public static final String _CANCEL_REQUESTED = "CANCEL_REQUESTED";
    public static final String _RETURN_REQUESTED = "RETURN_REQUESTED";
    public static final String _EXCHANGE_REQUESTED = "EXCHANGE_REQUESTED";
    public static final String _HOLDBACK_REQUESTED = "HOLDBACK_REQUESTED";
    public static final String _CANCELED = "CANCELED";
    public static final String _RETURNED = "RETURNED";
    public static final String _EXCHANGED = "EXCHANGED";
    public static final String _PURCHASE_DECIDED = "PURCHASE_DECIDED";
    public static final String _EXCHANGE_REDELIVERY_READY = "EXCHANGE_REDELIVERY_READY";
    public static final ProductOrderChangeType PAY_WAITING = new ProductOrderChangeType(_PAY_WAITING);
    public static final ProductOrderChangeType PAYED = new ProductOrderChangeType(_PAYED);
    public static final ProductOrderChangeType DISPATCHED = new ProductOrderChangeType(_DISPATCHED);
    public static final ProductOrderChangeType CANCEL_REQUESTED = new ProductOrderChangeType(_CANCEL_REQUESTED);
    public static final ProductOrderChangeType RETURN_REQUESTED = new ProductOrderChangeType(_RETURN_REQUESTED);
    public static final ProductOrderChangeType EXCHANGE_REQUESTED = new ProductOrderChangeType(_EXCHANGE_REQUESTED);
    public static final ProductOrderChangeType HOLDBACK_REQUESTED = new ProductOrderChangeType(_HOLDBACK_REQUESTED);
    public static final ProductOrderChangeType CANCELED = new ProductOrderChangeType(_CANCELED);
    public static final ProductOrderChangeType RETURNED = new ProductOrderChangeType(_RETURNED);
    public static final ProductOrderChangeType EXCHANGED = new ProductOrderChangeType(_EXCHANGED);
    public static final ProductOrderChangeType PURCHASE_DECIDED = new ProductOrderChangeType(_PURCHASE_DECIDED);
    public static final ProductOrderChangeType EXCHANGE_REDELIVERY_READY = new ProductOrderChangeType(_EXCHANGE_REDELIVERY_READY);
    public String getValue() { return _value_;}
    public static ProductOrderChangeType fromValue(String value)
          throws IllegalArgumentException {
        ProductOrderChangeType enumeration = (ProductOrderChangeType)
            _table_.get(value);
        if (enumeration==null) throw new IllegalArgumentException();
        return enumeration;
    }
    public static ProductOrderChangeType fromString(String value)
          throws IllegalArgumentException {
        return fromValue(value);
    }
    public boolean equals(Object obj) {return (obj == this);}
    public int hashCode() { return toString().hashCode();}
    public String toString() { return _value_;}
    public Object readResolve() throws java.io.ObjectStreamException { return fromValue(_value_);}
    public static org.apache.axis.encoding.Serializer getSerializer(
           String mechType,
           Class _javaType,
           javax.xml.namespace.QName _xmlType) {
        return
          new org.apache.axis.encoding.ser.EnumSerializer(
            _javaType, _xmlType);
    }
    public static org.apache.axis.encoding.Deserializer getDeserializer(
           String mechType,
           Class _javaType,
           javax.xml.namespace.QName _xmlType) {
        return 
          new org.apache.axis.encoding.ser.EnumDeserializer(
            _javaType, _xmlType);
    }
    // Type metadata
    private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(ProductOrderChangeType.class);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://base.checkout.platform.nhncorp.com/", "productOrderChangeType"));
    }
    /**
     * Return type metadata object
     */
    public static org.apache.axis.description.TypeDesc getTypeDesc() {
        return typeDesc;
    }

}
